Как связать первый уровень как localhost / About и localhost / Faq - PullRequest
0 голосов
/ 19 апреля 2010

Я создаю для этих целей контроллеры Views / About / Index.aspx и Views / Faq / Index.aspx + Controllers / AboutController.cs и Controllers / FaqController.cs.

Я хочу иметь один контроллер Controllers / DefaultController.cs + Views / About.aspx и Views / Faq.aspx в корне, например.

Как настроить?

Ответы [ 2 ]

0 голосов
/ 19 апреля 2010

Вы можете сделать что-то вроде этого:

 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
    }
0 голосов
/ 19 апреля 2010

Независимо от того, что ваши *.aspx файлы для представлений должны оставаться в стиле Views/{Name}/{PageName}.aspx.

Если вы хотите URL-адрес, такой как http://localhost/About, вы установите маршрут по умолчанию в Global.asax.csуказать на правильное действие.

...