ASP.NET MVC HtmlHelper.ActionLink replace %20 with +

asp.net-mvc

If I have a url generated like this

<%=Html.ActionLink("Link name", "MyAction", "MyController", new { SomeParameter = "value with spaces" })%>

is it possible to easily generate the output html like so

<a href="/MyController/MyAction/value+with+spaces">

instead of

<a href="/MyController/MyAction/value%20with%20spaces">

Or am I best looking at overloading the ActionLink method and replacing those characters when returning the string?

Best Answer

Or am I best looking at overloading the ActionLink method and replacing those characters when returning the string?

Yes.

The easier way is to just make a space-dash replacer extension method. Or just call Replace manually.

<%=Html.ActionLink("Link name", "MyAction", "MyController", new { SomeParameter = "value with spaces".Replace(" ", "-" })%>