2

是否可以在 ASP.NET MVC4 中动态地为路由命名?

基本上在 WebForms 中我使用的是这样的东西:

foreach (var rule in rules)
{
    routes.MapPageRoute("_" + rule.Url, rule.Url, rule.Redirect);
}

并从数据库中填写规则。

我需要允许客户端从 CMS 重命名路由(或进行重定向)。

谢谢你。

4

1 回答 1

0

坦率地说,动态路由别名是 ASP.NET MVC 中的一个困难过程。创建具有动态约束的单个路由可能是更优雅的解决方案。这需要设置一个仅与您的类别匹配的约束。

routes.MapRoute(
    "Product",
    "{alias}/{pageNumber}",
    new { controller = "Products", action = "Choose", alias = UrlParameter.Optional, pageNumber = 1 },
    new { alias = new ProductOptionCondition() } );

上面的动态自定义分页使用的是动态路由别名选项。你具体做了什么。您能否解释一下对此的任何具体要求,除非它可以通过 MVC-4 提供的默认路由选项进行管理。

于 2012-08-17T11:40:39.463 回答