Я использую routes.LowercaseUrls = true;
в моем приложении MVC 4, который отлично работает. Однако параметры также будут уменьшаться, поэтому, если у меня есть маршрут вроде
routes.MapRoute(
name: "MyController",
url: "foo/{hash}/{action}",
defaults: new { controller = "MyController", action = "Details" }
);
Ссылка, сгенерированная с помощью
@Html.ActionLink("my link", "Details", new { hash=ViewBag.MyHash })
будет иметь {hash}
часть части нижнего индекса URL, например, если ViewBag.MyHash = "aX3F5U"
, тогда сгенерированная ссылка будет /foo/ax3f5u
вместо /foo/ax3f5u
Есть ли способ заставить MVC вводить только нижний регистр контроллера и частей действия?
Для более старых версий MVC путь для реализации, казалось, заключался в реализации пользовательского подкласса Route
, однако я не знаю, как/где его создавать, поскольку подпись конструкторов маршрутов сильно отличается от MapRoute
, и я надеюсь, что это будет более простой способ.