ASP.NET MVC:如何强制所有链接转到1页?

时间:2012-09-25 08:02:16

标签: asp.net-mvc asp.net-mvc-3 asp.net-routing

我试图找出如何创建路由配置,以便所有URL都转到相同的VIEW(页面)。

当然,如果我这样做的话

/产品/编号

然后,这将在产品控制器中查找。

我想总是转到我的MainController和相同的操作,无论URL是什么

这可能吗?

提前致谢

1 个答案:

答案 0 :(得分:17)

可以使用catchAll路线完成此操作:

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

    routes.MapRoute(
        "CatchAll",
        "{*url}",
        new { controller = "Main", action = "Index" }
    );
}

或者你可以拥有你的默认路由并在它之后放置catchAll路由,这样如果没有匹配的其他路由,catchAll路由将获得它