如何在MVC路由中启用特殊字符?

我正在使用asp.net MVC 4。

这些是我的路线:

routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}" ); 

我当前的控制器正确响应以下请求:

http://localhost:2020/PrivacyUrls/Details/ct14524

如何validation这些url?

http://localhost:2020/PrivacyUrls/Details/*ct14524

http://localhost:2020/PrivacyUrls/Details/&ct14524

现在返回404。

从客户端(*)检测到潜在危险的Request.Path值。

从客户端(&)检测到潜在危险的Request.Path值。

我想添加这条路线,但它没有帮助:

  routes.MapRoute( "PivacyUrl/Details", "PrivacyUrls/Details/{*ctid}",// URL with parameters new { controller = "PrivacyUrls", action = "Details" } ); 

在web.config中:

     

从https://stackoverflow.com/a/6026291/299408公然被盗

答案对我不起作用。 我不得不使用:

 [ValidateInput(false)] public ActionResult Index... 

希望这有助于其他人。