我有一个小问题:
假设我有以下路由设置(默认),但我有更多其他路由具有不同的可选 url 参数名称。
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home",
action = "Index",
id = UrlParameter.Optional }
);
我使用简单的逻辑创建了一个面包屑菜单:
foreach(var item in RouteData.Values){
if(item.Key.Equals("controller")) {
url = htmlHelper.ActionLink("Link text", "Index", item.Key).ToHtmlString();
}
...
}
好吧,当我打开时,http://localhost:1234/
面包屑网址返回正常。http://localhost:1234/Home/Index
.
但是当访问时http://localhost:1234/Home/Index/1
,当前控制器的锚 url(在面包屑侧)变得像来自浏览器的 url(相同的值, http://localhost:1234/Home/Index/1
)。
是否可以像 Global.asax 中那样自动删除 url 参数集 UrlParameter.Optional
,以便不在锚 url 中显示?
id
很简单,我有很多路由和可选的 url 参数的不同名称。
谢谢