动态更改路线目标

时间:2011-11-29 12:29:41

标签: asp.net-mvc-3 routes

我有一个使用MVC3创建的站点管理工具,它具有路由{brand}/{controller}/{action}。我们现在需要为不同品牌设置两个不同的控制器,SimpleProductControllerProduct2_0Controller,因为新网站将使用“产品2.0”,而旧网站仍将使用“简单产品”。我们现在想要做的是{brand}/Product/{action}路由到适当的控制器,具体取决于品牌。

这样做的一种方法是创建一个实现转发行为的ProductController,但我觉得它会很快变得混乱,因为它必须实现两个控制器的所有操作。有没有更好的方法呢?

编辑:另一种方法是静态生成所有路由我想。也不是很漂亮,但至少比转发控制器更好,我会说。

1 个答案:

答案 0 :(得分:0)

为什么不简单地将版本号添加到路线中?如果产品3.0出现,那么这将是可扩展的:

{brand}/{version}/{controller}/{action}

然后您可以按惯例选择您的区域。