【发布时间】:2015-10-09 21:04:20
【问题描述】:
我已经开始考虑将应用程序迁移到 MVC6 以利用新框架。我遇到的最大问题之一是路由(仅限属性路由,我已完成删除默认路由)。
我的应用程序通常是这样设置的:
区域/管理/控制器 区域/客户/控制器 /Controllers
在每个区域中,我都有一个 Base 控制器(例如 AdminBase、CustomerBase),它将包含带有“AreaPrefix”的 [Area] 标签,并且该区域中的每个控制器都将继承它并指定一个 [RoutePrefix]。
出现的问题是,如果我想在路由中包含区域/控制器,则每个 ActionResult 必须包含 [Route("[area]/[controller]/[action]")] 以生成输出,但是如果,例如,我有一个“ChangeAddress”控制器,我会在 URL 中将其前缀为“change-address”,但我看不到任何方法,如果没有明确地将它放在控制器中的所有路由上如何实现这一点?
【问题讨论】:
标签: c# asp.net-mvc routing attributerouting