【问题标题】:C# MVC Controller redirect to Tel, SMS, and mailto linksC# MVC 控制器重定向到 Tel、SMS 和 mailto 链接
【发布时间】:2018-10-06 13:56:06
【问题描述】:
我有一个 MVC 网站,我想在其中点击网站 URL,然后根据传入的参数,显示原生电话界面、电子邮件界面或短信界面。
我可以通过在网络浏览器中输入界面来获取智能手机上的每个界面。例如,如果我在 iphone 上进入 safarai 并输入 tel:55555555,则会出现电话提示,并填写 55555555。
如何从 MVC 控制器重定向到接口?
【问题讨论】:
标签:
c#
asp.net-mvc
model-view-controller
controller
【解决方案1】:
向您的控制器添加一个控制器操作,该操作使用适当的协议调用 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?