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

asp.net-mvc

Solution

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(" ", "-" })%>

Problem

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?

Original source