C#MVC Controller重定向到Tel,SMS和mailto链接

时间:2018-04-26 00:54:46

标签: c# asp.net-mvc model-view-controller controller

我有一个MVC网站,其中我想要一个网站URL命中,然后根据传入的参数,显示本机电话界面,电子邮件界面或SMS界面。

我可以通过在网络浏览器中输入界面来获取智能手机上的每个界面。例如,如果我在iphone上进入safarai并输入tel:55555555,则会出现电话提示55555555。

如何从MVC控制器重定向到接口?

1 个答案:

答案 0 :(得分:3)

向您的控制器添加一个控制器操作,该控制器操作使用适当的协议调用Response.Redirect。例如:

public class HomeController : Controller
{
    public ActionResult Phone()
    {
        Response.Redirect("tel:5551212");
        return new EmptyResult();
    }
}

当此控制器操作被点击时,它会提示浏览器重定向并尝试打开手机应用程序。在我的情况下,它打开Skype。当然,您可以修改控制器操作,以根据参数使用不同的协议进行重定向。

调用此控制器操作的URL只是http://whatever/home/phone。您还可以将此控制器操作缩短为:

public ActionResult Phone()
{
    return Redirect("tel:5551212");
}

在我看来,这有点漂亮。这里有一个类似的问题:

In ASP.NET MVC, how does response.redirect work?