Все мои динамически сгенерированные ссылки на действия и т.д. создают ссылки типа / A ccount/ S etup. Это выглядит странно.
Я хочу, чтобы все мои ссылки были строчными (значение/учетная запись/настройка). Любой способ сделать это?
Посмотрите http://goneale.com/2008/12/19/lowercase-route-urls-in-aspnet-mvc/. Вы можете найти дополнительную информацию в другом потоке stackoverflow в Как я могу иметь строчные маршруты в ASP.NET MVC?.
Остальные сообщения пока не рассмотрели сценарий, в котором вы переходите к корню вашего веб-каталога. Если у вас есть сопоставление, которое ссылается на действие индекса HomeController, вы хотели бы, чтобы появился следующий URL:
mysite/home/
или даже mysite/home/index
Никакое количество использования вспомогательной функции Html не изменит тот факт, что по умолчанию в строке местоположения браузера будет отображаться следующее:
mysite/Home
или mysite/home/index
В .NET Framework 4.5 есть более простое решение, новое свойство RouteCollection.LowercaseUrls, здесь пример
Напишите метод расширения для Html:
public static class MyHtmlExtensions
{
public static string LowerActionLink(this HtmlHelper htmlHelper,someargs)
{
return String.ToLowerInvariant(htmlHelper.ActionLink(someArgs));
}
}
Затем используйте Html.LowerActionLink вместо Html.ActionLink