C# 带字符串的ASP.NET MVC 2路由问题
我想给我的webapp添加一个简单的路由,但它就是不起作用,我也不知道为什么 global.asax.cs中的代码:C# 带字符串的ASP.NET MVC 2路由问题,c#,asp.net-mvc-2,url-rewriting,url-routing,C#,Asp.net Mvc 2,Url Rewriting,Url Routing,我想给我的webapp添加一个简单的路由,但它就是不起作用,我也不知道为什么 global.asax.cs中的代码: routes.MapRoute( "BrowseGenre", "{controller}/{action}/{genre}", new {controller = "Store", action = "Browse", genre = UrlParameter.Optional} ); S
routes.MapRoute(
"BrowseGenre",
"{controller}/{action}/{genre}",
new {controller = "Store", action = "Browse", genre = UrlParameter.Optional}
);
StoreController.cs中的代码:
// GET: /Store/Browse
public ActionResult Browse(string genreName)
{
var genreModel = storeDB.Genres.Include("Albums").Single(g => g.Name == genreName);
//....
genreName始终为空
正确生成操作链接(如domain.com/Store/Browse/Jazz操作参数应调用
genre
,而不是genreName
(与在路由中调用UI的方式相同):
将匿名类型从更改为
new {controller = "Store", action = "Browse", genre = UrlParameter.Optional}
到
或
将动作中的参数名称从“genreName”更改为“genre”,以便匿名类型中的成员名称与动作方法中的参数名称匹配
new {controller = "Store", action = "Browse", genre = UrlParameter.Optional}
new {controller = "Store", action = "Browse", genreName = UrlParameter.Optional}