从WebAPI生成到MVC控制器动作的路由Url



我习惯在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内生成url到MVC控制器动作,我该如何去做这件事?

似乎在APIController上有一个UrlHelper属性,但我找不到任何如何使用它的例子,我自己也没能弄清楚。

更新:我试图生成一个url的原因是,这个特定的webapi方法发送一封电子邮件,该电子邮件为收件人提供了一个链接,以指导用户返回到网站的适当部分。我显然想摆脱硬编码,因为它不会为不同的部署工作,也如果我开始改变路由这个链接将被打破。有没有更好的方法来做这件事?

你可以使用MVC路由名称以及web API UrlHelper。例如,

 Url.Link("Default", new { Controller = "Account", Action = "Login" });

 Url.Route("Default", new { Controller = "Account", Action = "Login" });

相关内容

  • 没有找到相关文章

最新更新