我使用routes.add而不是routes.maproute(它有一个命名空间arg)
因为我扩展了Route Class.
我需要在路由上添加命名空间,因为我的一个区域具有相同的控制器名称
在网站内.
我的问题是我不知道把命名空间放在哪里
因为我扩展了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
- ));