Проблема маршрутов ASP.NET - PullRequest
0 голосов
/ 19 апреля 2011

Если я захожу в mysite / Catalog, он ломается. Как можно это решить?

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

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

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

1 Ответ

2 голосов
/ 19 апреля 2011

Это будет соответствовать вашему первому маршруту, думая, что «Каталог» - это «lang».Вам необходимо создать ограничение для ваших локализаций.

Следующий маршрут должен соответствовать запросам с префиксом любого языкового кода (например, en, cs, de или en-US, en-GB ...) правильно

routes.MapRoute("Localization", "{lang}/{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = UrlParameter.Optional },
    new { lang = "[a-z]{2}(-[a-z]{2})" }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...