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

asp.net-mvc – 如何添加命名空间到自定义路由扩展

发布时间:2020-12-15 22:53:36 所属栏目:asp.Net 来源:网络整理
导读:我使用routes.add而不是routes.maproute(它有一个命名空间arg) 因为我扩展了Route Class. 我需要在路由上添加命名空间,因为我的一个区域具有相同的控制器名称 在网站内. 我的问题是我不知道把命名空间放在哪里 public class CultureRoute : Route { public C
我使用routes.add而不是routes.maproute(它有一个命名空间arg)
因为我扩展了Route Class.
我需要在路由上添加命名空间,因为我的一个区域具有相同的控制器名称
在网站内.
我的问题是我不知道把命名空间放在哪里

public class CultureRoute : Route
    {
     public CultureRoute(string url,object defaults,object constraints,RouteValueDictionary dataTokens)
            : base(url,new RouteValueDictionary(constraints),dataTokens,new MvcRouteHandler())
        {
        }
}

Global.asax中


routes.Add("Default",new CultureRoute(
                                      "{controller}/{action}/{id}",new {controller = "Home",action = "Index",id = UrlParameter.Optional}));

解决方法


var dataTokens = new RouteValueDictionary();
            var ns = new string[] {"MyProject.Controllers"};
            dataTokens["Namespaces"] = ns;


            routes.Add("Default",new { controller = "Home",id = UrlParameter.Optional },null /*constraints*/,dataTokens
                                      ));

(编辑:李大同)

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

    推荐文章
      热点阅读