【发布时间】:2010-06-28 07:55:38
【问题描述】:
我有一个 MVC 2.0 应用程序,其中有一个可以按首字母浏览的项目列表,并且我在母版页上有一个用于整个项目列表的选项卡。
我想要的是母版页上的标签始终应该转到:
/items
还有 abc 的字母指向以字母开头的项目。例如,对于a,它应该转到:
/items/a
要为我使用的母版页中的选项卡生成链接:
Url.Action("Index", "Items")
问题是,如果我正在查看以a 开头的项目,所以我在/items/a,那么标签也指向这个位置,而不仅仅是/items。
任何人都知道这是为什么,我该怎么做才能使用正确的 UrlHelper 方法始终指向选项卡中的/items?
编辑:我的溃败如下:
routes.MapRouteLowercase(
"DefaultPrefixed", // Route name
"{controller}/{action}/{q}", // URL with parameters
new { controller = "Items", action = "Index", q = "" }, // Parameter defaults
new { q = @"[a-z]{1}" } // constraint
);
routes.MapRouteLowercase(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
【问题讨论】:
-
您的路径不能是
/items/a,而是items/index/a,因为这是您定义路线的方式。