哭死了,匹配根目录的路由怎么也匹配了区域下面的路由?

r_swordsman 2013-09-22 11:47:13
本来是打算匹配 /home/index.html 这个路径的,
然后项目里面有个 admin 的区域,有个 user 控制器,包含 edit 操作方法,
本来希望正确的路径是 /admin/user/edit.html。
没想到输入 /user/edit.html 也访问这个 edit.html 页面,
要怎么限制才能让 "{controller}/{action}.html" 这个路由不匹配区域下面的控制器?

根目录下的:


routes.MapRoute(
"home", // 路由名称
"{controller}/{action}.html", // 带有参数的 URL
_namespaces
);

admin 区域下的:

context.MapRoute(
"b",
"admin/{controller}/{action}.html",
new { action = "Index" },
_namespaces
);

...全文
173 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jshi123 2013-09-23
  • 打赏
  • 举报
回复
你的_namespace应该是根目录下的controller所在的namespace,不应包含area下的controller的命名域。比如: string[] _namespaces = { "MvcApplication1.Controllers" }; 然后还要加上DataTokens["UseNamespaceFallback"] = false

	routes.MapRoute(
		"home", // 路由名称
		"{controller}/{action}.html", // 带有参数的 URL
		_namespaces
	)
	.DataTokens["UseNamespaceFallback"] = false;
tptptp00 2013-09-23
  • 打赏
  • 举报
回复
routes.MapRoute( "home", // 路由名称 "{controller}/{action}.html", // 带有参数的 URL ,new { action = @"\b(?!edit$).+\b" } _namespaces );
clark523 2013-09-23
  • 打赏
  • 举报
回复
public override string AreaName { get { return "admin"; } } 试试看行不行
moonwrite 2013-09-22
  • 打赏
  • 举报
回复
admin 区域下的: context.MapRoute( "b", "admin/{controller}/{action}.html", new { action = "Index" }, _namespaces ); 这个是什么概念~ 我的路由都是写在同一个RouteConfig文件中的~ 好好再看一下路由知识,只能帮你到这里了~ http://www.cnblogs.com/JimmyZhang/archive/2009/03/08/1406512.html
r_swordsman 2013-09-22
  • 打赏
  • 举报
回复
引用 1 楼 moonwrite 的回复:
admin 区域下的: context.MapRoute( "b", "admin/{controller}/{action}.html", new { action = "Index" }, _namespaces ); 这个是什么概念~ 我的路由都是写在同一个RouteConfig文件中的~ 好好再看一下路由知识,只能帮你到这里了~ http://www.cnblogs.com/JimmyZhang/archive/2009/03/08/1406512.html
这个注册区域里面的路由啊,匹配 /admin/{controller}/{action}.html 路径

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧