zoukankan      html  css  js  c++  java
  • 如何为Asp.net MVC web api生成Url?

    为某个Action生成Url, 可以使用Url.Action方法,就能得到针对某个Action的Url.

    但是web API呢? 好像没有Url.Api方法的。

    这里如果我们的web api的route是这样设置的:

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

    那么我们可以这样得到web api的Url:

    Url.RouteUrl(
                "DefaultApi", 
                new{ httproute ="", controller ="values", id ="123"}
            );

    注意,这里的httproute设置非常重要,没有这个会导致Url为空。
    因为它回去寻找普通的Route匹配,由于找不到DefaultApi, 所以Url是空字符串。


    Creative Commons License

    本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名justrun(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言

  • 相关阅读:
    二分与三分
    NOIP应试技巧
    数论
    并差集
    最短路
    图的遍历

    最小生成树
    树状数组
    线段树
  • 原文地址:https://www.cnblogs.com/JustRun1983/p/2707083.html
Copyright © 2011-2022 走看看