my routes:
routes.MapRoute(
"Tag",
"tag/{t}/{action}",
new { controller = "tag", action = "unsolved" }
);
the link like:
<a href="/tag/@(Uri.EscapeDataString(tagName))/unsolved">@tagName</a>
if the tagName not contain “+”,all work well , else ,like “http://www.test.com/tag/c%2B%2B/unsolved”(%2B come from @(Uri.EscapeDataString(“+”)),i get the error: HTTP error 404.11 – Not Found
who can help me? thanks!
You may try allowing double escaping in the
<system.webServer>section of your web.config as I suspect that you are having this problem only in IIS 7 and not in the Visual Studio development server (which by the way you should have mentioned in your question):Further reading: http://www.hanselman.com/blog/ExperimentsInWackinessAllowingPercentsAnglebracketsAndOtherNaughtyThingsInTheASPNETIISRequestURL.aspx