Как выбрать маршрут в MVC3 - PullRequest
       36

Как выбрать маршрут в MVC3

0 голосов
/ 09 января 2012

У меня есть global.ascx с тремя маршрутами

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



        routes.MapRoute(
           "TestRoute",
           "{id}",
           new { controller = "Product", action = "Index3", id = UrlParameter.Optional },
           new { id = @"\d+" } //one or more digits only, no alphabetical characters
       );

        routes.MapRoute(
           "TestCatalogRoute",
           "{id}",
           new { controller = "Home", action = "Index", id = UrlParameter.Optional }
       );

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


    }

Когда я ввожу URL:

http://mydomain.com/

Используется маршрут "TestCatalogRoute", но я хочу маршрут "По умолчанию" T.T

Как:

Ответы [ 3 ]

4 голосов
/ 09 января 2012

Удалить id = UrlParameter.Optional для TestCatalogRoute, затем

3 голосов
/ 09 января 2012

Измените порядок ваших маршрутов. Обработчик маршрута проверит каждый маршрут, первый из которых будет выбран. Так что, если вы поставите второй последний, с вами все будет в порядке?

1 голос
/ 10 января 2012

Я рекомендую использовать Routing Debugger для отладки вашего маршрута.

http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx

...