加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 从WebAPI生成MVC控制器操作的路由URL

发布时间:2020-12-15 18:36:30 所属栏目:asp.Net 来源:网络整理
导读:我习惯于使用类似于以下内容的MVC控制器操作中的其他控制器操作生成路由URL: public class ApplicationController : Controller{ public ActionResult Index( ) { var url = Url.RouteUrl("routename",new { controller = "Application",Action = "Index2",
我习惯于使用类似于以下内容的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" });

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读