Construct url in view for Web Api with attribute routing

后端 未结 3 1573
你的背包
你的背包 2020-12-19 02:58

How can I get the url from web api in my view?

Example (from the msdn-blog):

[RoutePrefix(\"reviews\")]
public class ReviewsController : ApiControlle         


        
3条回答
  •  伪装坚强ぢ
    2020-12-19 03:21

    Generating links to Web API routes always require a RouteName, so you should have something like below:

    [Route("{reviewId}/edit", Name="EditView")]
    public IHttpActionResult Edit(int reviewId) { ... }
    

    You can then generate a link like /reviews/1/editto Web API.

    Url.RouteUrl(routeName: "EditView", routeValues: new { httpRoute = true, reviewId = 1 });
    

    or

    Url.HttpRouteUrl(routeName: "EditView", routeValues: , reviewId = 1)
    

    Note that route names need to be specified explicitly and they are no longer generated automatically like what @Karhgath is suggesting. This was a change made from RC to RTM version.

提交回复
热议问题