Asp.net mvc 如何从MVC视图生成webapi url?

Asp.net mvc 如何从MVC视图生成webapi url?,asp.net-mvc,asp.net-web-api,Asp.net Mvc,Asp.net Web Api,基于 这两种方法加上我尝试过的一些组合都不起作用 <li><a href="@Url.RouteUrl("DefaultApi",new {area=string.Empty,httproute = string.Empty, controller = "corpuserrequest", action="Get"})">CorpUser</a></li> <li><a href=

基于

这两种方法加上我尝试过的一些组合都不起作用

 <li><a href="@Url.RouteUrl("DefaultApi",new {area=string.Empty,httproute = string.Empty, controller = "corpuserrequest", action="Get"})">CorpUser</a></li>
                        <li><a href="@Url.Action("Get","CorpUserRequest",new {area=string.Empty,httproute ="", controller = "CorpUserRequest", action="Get"})">CorpUser</a></li>
为什么路由不起作用?RouteUrl返回空字符串或null,操作返回

<a href="http://localhost:11601/CorpUserRequest/Get">


而不是实际的url应该是什么
http://localhost:11601/api/CorpUserRequest

您可以使用以下任一方法生成指向Web API的链接:

  • @Url.HttpRouteUrl(“DefaultApi”,new{controller=“corpuserrequest”})
  • @Url.RouteUrl(“DefaultApi”,新的{httproute=true,controller=“corpuserrequest”})
  • 通常您会使用选项
    1.
    ,但有时您可能需要使用
    2.
    ,就像下面的文章一样(这篇文章不一定要使用
    RouteUrl
    ,但其思想是,在没有像
    HttpRouteUrl
    这样方便扩展的地方,在本例中是
    Html.BeginForm
    ,您可以使用
    httproute=true
    来表示您确实在尝试生成Web API路由的url)

    <a href="http://localhost:11601/CorpUserRequest/Get">