asp.net mvc 4控制器路由取决于url

时间:2013-12-04 15:49:07

标签: asp.net asp.net-mvc url controller routing

根据网址,我想路由不同的控制器。因此,根据指向同一DNS服务器的不同URL,我想为我的网站提供不同的外观。

为了在本地测试,我尝试了:

public class RouteConfig
{ 
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

        routes.MapRoute(
        "localhost",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Contact", id = UrlParameter.Optional }    
        );
    }
}

Wat I我想要显示联系页面,而不是默认主页,因为网址为:/localhost:portnr./

如何获取URL(域)的第一位来决定要路由哪个控制器?

1 个答案:

答案 0 :(得分:1)

假设您拥有联系控制器和索引操作,并且您希望在页面加载时加载该操作,  你可以指定为

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Contact", action = "Index", id = UrlParameter.Optional }
);