MVC Custom Routing и Локализация - PullRequest
       44

MVC Custom Routing и Локализация

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

Ладно, ребята, так что я застрял не менее 2 дней с поиском в Google и проверкой всех других статей стека, которые я смог найти.

Я просто хочу проверить, есть ли первый параметр в моемroute - это допустимое имя культуры, и если оно не изменяет URL / маршрут до выполнения, чтобы включить значение культуры.

Это так сложно ?!Я не думаю, что это должно быть.

Я мог бы просто изменить вещи в классе basecontroller, от которого наследуются все другие контроллеры, и проверить там, а затем изменить все данные маршрута и отправить их на своем пути.Проблема заключается в некоторых других пользовательских маршрутах, которые у меня есть.

Хорошо, вот проблема с моим кодом, и почему я думаю, что это будет проще всего выполнить перед выполнением любых контроллеров.

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

Итак, если я пытаюсь что-то изменить, я сталкиваюсь с этим неприятным / solutions / custom route для определенных решений, а для других ответов требуется настраиваемое перенаправление (выдача постоянно перемещенной ошибки) и проверка, чтобы определить, являются ли определенные параметрыноль.

Есть ли способ извлечь данные о маршруте и изменить мой маршрут / URL в файле global.asax?Там было бы проще всего, и я действительно хотел бы просто поставить его так, чтобы он всегда был там, и я мог просто нормально проложить маршрут.

Я, наверное, не очень разбираюсь, но я 'Я немного расстроен.Есть предложения?

1 Ответ

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

Я не совсем уверен в том, что вы пытаетесь достичь, это «навязывание» языка в маршрутах?

Вы можете попробовать написать свой собственный RouteHandler для обработки вещей?

Iо чем-то похожем написал в моем блоге .

...