Получен неверный маршрут, и ActionLink создает неправильную гиперссылку

Я новичок в ASP.NET MVC3.

Я настроил несколько маршрутов в Global.asax, по которым я генерирую некоторые гиперссылки, используя вспомогательный метод @Html.ActionLink.

Все ссылки отображаются правильно, кроме верхней в приведенном ниже коде:

Global.asax

routes.MapRoute(
    null,
    "Section/{Page}/{SubPage}/{DetailPageName}",
    new { controller = "Base" }
    );

routes.MapRoute(
    null,
    "Section/{Page}/{SubPage}",
    new { controller = "Base", action = "SubPage" }
    );

routes.MapRoute(
    null,
    "Section/{Page}",
    new { controller ="Base", action="LandingPage"}
    );

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

Код ActionLink

@Html.ActionLink(@subPages.LinkedPageName, "DetailPage",
    new {
        Controller = "Base",
        Page = @ViewBag.PageName,
        SubPage = @Model.SubPageName,
        DetailPageName = subPages.LinkedPageName
    })

Вышеприведенный код должен выбирать верхний маршрут, т.е.:

routes.MapRoute(
    null,
    "Section/{Page}/{SubPage}/{DetailPageName}",
    new { controller = "Base" }
    );

Но он выбирает маршрут по умолчанию!

6
задан Eilon 5 July 2013 в 02:40
поделиться