3

All my dynamically generated action links etc. are creating links like /Account/Setup. It looks strange.

I'd like all my links to be lowercase (meaning /account/setup). Any way to do this?

Alex
  • 75,813
  • 86
  • 255
  • 348

3 Answers3

6

There is simpler solution in .NET Framework 4.5, a new property RouteCollection.LowercaseUrls, here's an example

Community
  • 1
  • 1
krolik
  • 5,712
  • 1
  • 26
  • 30
3

Take a look at http://goneale.com/2008/12/19/lowercase-route-urls-in-aspnet-mvc/. You can find more information in another stackoverflow at How can I have lowercase routes in ASP.NET MVC?.

The other posts thus far have not tackled the scenario where you navigate to the root of your web directory. If you have a mapping that directs to the HomeController Index action, you would like the following URL to appear:

mysite/home/ or even mysite/home/index

No amount of Html helper function usage will change the fact that, by default, the following will be shown in the browser location bar:

mysite/Home or mysite/Home/Index

Community
  • 1
  • 1
David Andres
  • 31,351
  • 7
  • 46
  • 36
0

Write an extension method for Html:

public static class MyHtmlExtensions
{
    public static string LowerActionLink(this HtmlHelper htmlHelper,someargs)
    {
        return String.ToLowerInvariant(htmlHelper.ActionLink(someArgs));
    }
}

Then use Html.LowerActionLink instead of Html.ActionLink

spender
  • 117,338
  • 33
  • 229
  • 351