鉴于此URL的路由设置问题不能得到解决
http://localhost:51095/Person // This is equivalent to this one Person/Index
http://localhost:51095/Person/Allan
我设置的路由配置的它,如下所示:
routes.MapRoute(
"Person",
"Person/{personName}",
new { controller = "Person", action = "Person", personName = UrlParameter.Optional }
)
;
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
首先URL应遵循Default
路线和第二应遵循Person
路线。
这不是工作,因为第一个配置似乎捕获所有这些URL的
删除'personName = UrlParameter.Optional'但是这可能会导致其他问题,如果你在'PersonController'中有任何操作方法,除了Index()和Person()',除非你为所有的其他方法 –
@StephenMuecke,但我该怎么做?我应该使用'Route'注释吗?我的计划是只在特定行动中应用规则,但某些方法会受到影响。 – Sherlock
这可能取决于PersonController中的其他方法。改变它说'/ People/Allan'是一种选择? –