apo*_*lka 3 asp.net-mvc url-routing
我有一个MVC 2.0应用程序,我有一个项目列表,可以通过他们的第一个字母浏览,我在主页面上有一个选项卡,用于整个项目列表.
我想要的是母版页上的标签总是应该去:
/items
Run Code Online (Sandbox Code Playgroud)
并且有abc的字母指向以字母开头的项目.所以例如a它应该去:
/items/a
Run Code Online (Sandbox Code Playgroud)
要为母版页中的选项卡生成链接,我使用:
Url.Action("Index", "Items")
Run Code Online (Sandbox Code Playgroud)
问题是,如果我正在查看以开头的项目a,那么我在/items/a那时标签也指向这个位置而不仅仅是/items.
任何人都知道为什么会这样,我能做些什么来始终/items使用正确的UrlHelper方法指向选项卡?
编辑:我的溃败如下:
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
);
Run Code Online (Sandbox Code Playgroud)
Dar*_*rov 10
这取决于您的路线,但假设您使用的是默认路线:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Users", action = "Index", id = UrlParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
您始终可以将可选路径值设置为空白:
Url.Action("Index", "Items", new { id = string.Empty })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3099 次 |
| 最近记录: |