如何链接第一级像localhost / About和localhost / Faq

时间:2010-04-19 13:42:42

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

我为这些目的制作了Views / About / Index.aspx和Views / Faq / Index.aspx + Controllers / AboutController.cs和Controllers / FaqController.cs控制器。

我希望在root中有一个控制器Controllers / DefaultController.cs + Views / About.aspx和Views / Faq.aspx,例如。

如何设置?

2 个答案:

答案 0 :(得分:0)

无论如何,视图中的*.aspx个文件都应保留为Views/{Name}/{PageName}.aspx样式。

如果您需要http://localhost/About之类的网址,请在Global.asax.cs中设置默认路线,以指向正确的操作。

答案 1 :(得分:0)

您可以这样做:

 private static readonly string[] StaticPages = 
                                   {
                                       "FaQ", "Help"
                                   };

    /// <summary>
    /// Registers the routes.
    /// </summary>
    /// <param name="routes">The routes.</param>
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute("StaticPages",
            "{id}", // url
            new { controller = "StaticPages", action = "Show" }, // defaults
            new { id = String.Join("|", StaticPages) }); // constraints


        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional }); // Parameter defaults
    }