1

我正在尝试获取刚刚创建的对象的 URL:

code = HttpStatusCode.Created;
String location = Url.Route("ApiRoute", new {@id = bp.Id, @controller = "ProfileController" });
Response.AppendHeader("Location", location);

这里的路线

routes.MapHttpRoute(
    name: "ApiRoute",
    routeTemplate: "api/{controller}/{id}",
    defaults: new { id = RouteParameter.Optional }
);

但它似乎已经从 MVC3 更改为 MVC4。

有人可以对此有所了解吗?

谢谢

4

1 回答 1

1

您可以使用Url.RouteUrl()接受protocol参数的方法。这将返回一个完全限定的 url。

// Formatted for readability
code = HttpStatusCode.Created;
String location = Url.Route(
  "ApiRoute", 
  new {@id = bp.Id, @controller = "ProfileController" }, 
  "http"
);
Response.AppendHeader("Location", location);
于 2012-08-01T14:00:47.907 回答