我习惯于使用类似于以下内容的MVC控制器操作中的其他控制器操作生成路由URL:
public class ApplicationController : Controller { public ActionResult Index( ) { var url = Url.RouteUrl("routename",new { controller = "Application",Action = "Index2",other="other" }); } public ActionResult Index2( string other) { } }
但是我也需要从webapi中生成MVC控制器操作的URL,我该怎么做?
在APIController上似乎有一个UrlHelper属性,但是我无法找到任何使用该方法的示例,并且无法自己弄清楚。
更新:
我试图生成一个URL的原因是,这个特定的webapi方法发送一个电子邮件,向收件人提供一个链接,以将用户引导回到站点的适当部分。我显然希望避免硬编码,因为它不适用于不同的部署,如果我开始更改路由,这个链接将被破坏。有更好的做法吗?
解决方法
您也可以使用MVC路由名称以及Web API UrlHelper。例,
Url.Link("Default",new { Controller = "Account",Action = "Login" });
要么
Url.Route("Default",Action = "Login" });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。