加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 具有WebApi和Controller路由的Url.Action

发布时间:2020-12-16 03:29:33 所属栏目:asp.Net 来源:网络整理
导读:我有一个2个控制器,其中一个是WebApi: public class ListController : ApiController{ public object Remove(string ListId,Liststring ItemIds) { //removed }}public class ListController : Controller{ public object Remove(string ListId,Liststring
我有一个2个控制器,其中一个是WebApi:

public class ListController : ApiController
{        
    public object Remove(string ListId,List<string> ItemIds)
    {
        //removed
    }
}

public class ListController : Controller
{        
    public object Remove(string ListId,List<string> ItemIds)
    {
        //removed
    }
}

我的路线在Global.asax中注册如下:

WebApiConfig.Register(GlobalConfiguration.Configuration);
RouteConfig.RegisterRoutes(RouteTable.Routes);

我的WebApi路由定义为:

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

通过@ Url.Action(“删除”,“列表”)生成网址时,我得到的路径是’/ list / remove’.我期望选择WebApi路由(‘/ api / list / remove’),因为WebApi路由在其他路由之前注册.

如何让@ Url.Action按预期返回WebApi路由?

解决方法

@Url.Action("Remove","List",new { httproute = "DefaultApi" })

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读