MVC3动态路由多个URL到单个控制器

时间:2012-03-29 22:36:53

标签: asp.net-mvc-3 c#-4.0 asp.net-mvc-routing

基本上,我希望能够实现以下目标:

website.com/ {客户名称} / SingleController /动作/

其中SingleController是一个控制器,它根据{customerName}的数据库查找提供页面,例如,可能会交换CSS文件或其他内容。如何设置将{customerName}映射为通配符的路由?没有控制器可能看起来倒退,但这种设置的主要原因是将客户的不同页面显示在

http://website.com/ {客户名称}。

1 个答案:

答案 0 :(得分:0)

使用寄存器路由封装的典型示例:

public static void RegisterRoutes(RouteCollection routes)
    {
        routes.MapRoute(
            null,                                           // Route name
            "{customerName}/SingleController/actions",                            // URL with parameters
            new { controller = "SingleController", action = "actions" }  // Parameter defaults
        );
    }
    protected void Application_Start()
    {
        RegisterRoutes(RouteTable.Routes);
    }