Прежде всего, вы должны генерировать маршруты через что-то @Html.ActionLink
, @Url.Action
или аналогичные для любых действий. Это не волшебная пуля.
Из MSDN:
AppendTrailingSlash
Получает или задает значение, указывающее, является ли замыкающие косые добавлены , когда виртуальные пути нормированы.
(Source)
LowercaseUrls
Получает или устанавливает значение, указывающее, является ли URL-адрес преобразуется в нижнем регистр, когда виртуальные пути нормированы.
(Source)
Формат URL является (source):
схема: [// [пользователь: пароль @] хост [: порт]] [/] путь [? query] [# fragment]
Отчасти это касается участка пути и только этого. Любая часть строки запроса не подвержена влиянию. AppendTrailingSlash добавляет/в конец части пути.
Так что для этого кода:
@Html.ActionLink("About this Website", "About")
С параметрами маршрута, установленных в routes.LowercaseUrls = true;
и routes.AppendTrailingSlash = true;
он будет генерировать:
<a href="/home/about/">About this Website</a>
С параметрами маршрута, установленных в routes.LowercaseUrls = false;
и routes.AppendTrailingSlash = true;
он будет генерировать:
<a href="/Home/About/">About this Website</a>
С параметрами маршрута, установленных в routes.LowercaseUrls = true;
и routes.AppendTrailingSlash = false;
он будет генерировать:
<a href="/home/about">About this Website</a>
с параметрами маршрута, установленных в routes.LowercaseUrls = false;
и routes.AppendTrailingSlash = false;
он будет генерировать:
<a href="/Home/About">About this Website</a>
Для этого кода:
@url.action("someAction","someController",new{Name=Test})
С параметрами маршрута, установленными на routes.LowercaseUrls = true;
и routes.AppendTrailingSlash = true;
, он будет генерировать:
/somecontroller/someaction/?Name=Test
Некоторые ошибки, которые вы могли бы ударяя:
Существует в MVC 4 bug with areas, в отношении к нижнему регистру Urls.
Комплект NuGet LowercaseRoutesMVC preports, чтобы исправить эту ошибку.
Возможные решения в нижний регистр адреса на вашем Применение
Если Вы желаете, чтобы изменить поведение вне приложения, следует использовать что-то вроде Url Rewrite для IIS, который может превратить ваш URL. Пример этого here.
У меня такая же проблема –