【问题标题】:How to create url for MVC action from ApiController?如何从 ApiController 创建 MVC 操作的 url?
【发布时间】:2013-02-06 02:57:26
【问题描述】:

有没有办法从 ApiController 创建一个喜欢 MVC 操作的 url?我看到了相反的例子,使用 MVC 的 UrlHelper (http://blogs.msdn.com/b/roncain/archive/2012/07/17/using-the-asp-net-web-api-urlhelper.aspx) 从 MVC 到达 ApiController。

任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 嗯,不确定我是否遗漏了什么,但您发送到的链接是从 MVC 中路由到 API url。我想要反过来,从 API 控制器路由到 MVC url。

标签: asp.net asp.net-mvc-4 asp.net-web-api


【解决方案1】:

您可以使用 API 控制器上的 Url 属性来查找到 Web api 或 MVC 控制器的路由。下面是一个创建到默认项目模板 MVC 方法 AccountController.Login(string returnURL) 的链接的示例。

    public class SOExampleController : ApiController
{

    public SOExample GetSOExample()
    {
        var url = Url.Route("Default", new {controller = "Account", action = "Login", returnUrl = "hello"});
        return new SOExample{URL = url};
    }
}

public class SOExample
{
    public string URL {get;set;}
}

运行时,您会获得“/Account/Login?returnUrl=hello”的 url 值。看起来您可能需要预先添加域,这应该很容易找到。

【讨论】:

  • 谢谢,成功了。第一次对我不起作用,因为我没有提供所有参数。再次感谢。
  • 完成!对不起,我是菜鸟!
猜你喜欢
  • 2016-02-06
  • 2013-01-08
  • 2013-02-26
  • 2017-12-18
  • 1970-01-01
  • 2011-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多