有没有办法从 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。
任何帮助将不胜感激。谢谢。
最佳答案
您可以使用 API Controller 上的 Url 属性来查找 Web api 或 MVC Controller 的路由。以下是创建指向默认项目模板 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 值。看来您可能需要在域名前面添加域名,这应该很容易找到。
关于asp.net - 如何从 ApiController 创建 MVC 操作的 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14991184/