【发布时间】:2013-04-05 10:43:22
【问题描述】:
是否可以覆盖 ASP.NET MVC 4 中的控制器名称? 路由需要它。
有[ActionName("some-action-name")] 属性可以覆盖动作名称。
是否可以对控制器类名做同样的事情?
需要在路由中创建一个控制器名称以包含破折号,例如“some-controller-name”而不是“SomeControllerName”
【问题讨论】:
-
我认为这是不可能的,因为控制器必须是简单路由所独有的。
-
尝试在Global.asax中添加
-
控制器动作名称也是唯一的,但它们具有允许覆盖它的 ActionNameAttribute。
-
你不需要这样做,你可以在默认的前面放一个新的,以便首先检查它。它看起来像这样(但是我没有测试过):
routes.MapRoute( name: "MyName", url: "this-is-dashed/{action}/{id}", defaults: new { controller = "ThisIsNotDashed", action = "Index", id = UrlParameter.Optional } );
标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 asp.net-mvc-routing