是否可以在 ASP.NET MVC4 中动态地为路由命名?
基本上在 WebForms 中我使用的是这样的东西:
foreach (var rule in rules)
{
routes.MapPageRoute("_" + rule.Url, rule.Url, rule.Redirect);
}
并从数据库中填写规则。
我需要允许客户端从 CMS 重命名路由(或进行重定向)。
谢谢你。
是否可以在 ASP.NET MVC4 中动态地为路由命名?
基本上在 WebForms 中我使用的是这样的东西:
foreach (var rule in rules)
{
routes.MapPageRoute("_" + rule.Url, rule.Url, rule.Redirect);
}
并从数据库中填写规则。
我需要允许客户端从 CMS 重命名路由(或进行重定向)。
谢谢你。
坦率地说,动态路由别名是 ASP.NET MVC 中的一个困难过程。创建具有动态约束的单个路由可能是更优雅的解决方案。这需要设置一个仅与您的类别匹配的约束。
routes.MapRoute(
"Product",
"{alias}/{pageNumber}",
new { controller = "Products", action = "Choose", alias = UrlParameter.Optional, pageNumber = 1 },
new { alias = new ProductOptionCondition() } );
上面的动态自定义分页使用的是动态路由别名选项。你具体做了什么。您能否解释一下对此的任何具体要求,除非它可以通过 MVC-4 提供的默认路由选项进行管理。