获取“从客户端(&)检测到潜在危险的Request.Path值”

我有一个遗留的代码问题,需要我支持随机的url,就好像它们是对主页的请求一样。 某些URL中包含字符,会生成错误“从客户端(&)检测到潜在危险的Request.Path值” 。 该网站是用ASP.Net MVC 3(在C#中)编写的,并在IIS 7.5上运行。

这是一个示例url…

http://mywebsite.com/Test123/This_&_That 

这里是我如何有我的所有路线设置(我有其他路线来捕捉特定页面)…

 routes.MapRoute( "Default", // Route name "{garb1}/{garb2}", // URL with parameters new { controller = "Website", action = "Home", garb1 = UrlParameter.Optional, garb2 = UrlParameter.Optional } // Parameter defaults ); 

我已经将以下内容添加到我的web.config文件中…

 <configuration> <system.web> <pages validateRequest="false" /> <httpRuntime requestValidationMode="2.0" /> </system.web> <configuration> 

我也添加了ValidateInput属性的动作,应该赶上的url…

 public class WebsiteController : Controller { [ValidateInput(false)] public ActionResult Home() { return View(); } } 

但是我仍然得到错误。 任何想法为什么? 我错过了什么? 现在我只是在我的本地开发服务器上运行(我还没有在生产中尝试过这些修复)。

虽然你可以尝试在configuration文件中的这些设置

 <system.web> <httpRuntime requestPathInvalidCharacters="" requestValidationMode="2.0" /> <pages validateRequest="false" /> </system.web> 

我会避免在URLpath中使用像'&'这样的字符来replace下划线。

我遇到了这种types的错误。 从剃刀调用一个函数。

 public ActionResult EditorAjax(int id, int? jobId, string type = ""){} 

通过改变线来解决这个问题

 <a href="/ScreeningQuestion/EditorAjax/5&jobId=2&type=additional" /> 

 <a href="/ScreeningQuestion/EditorAjax/?id=5&jobId=2&type=additional" /> 

我的route.config是

 routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new string[] { "RPMS.Controllers" } // Parameter defaults ); 

如果你想允许Html标签仅用于mvc中的less数文本框

你可以做一件事

在控制器中

  [ValidateInput(false)] public ActionResult CreateNewHtml() //view { return View(); } [ValidateInput(false)] [HttpPost] public ActionResult CreateNewHtml(cbs obj)//view cbs is database class { repo.AddHtml(obj); return View(); } 

在试图找出为什么我们的Silverlight ArcGIS地图查看器不加载地图时,我们在Fiddler中得到了同样的错误。 在我们的案例中,这是代码中URL的拼写错误。 出于某种原因,在那里有一个等号。
HTTP:// = someurltosome /真棒/位
代替
HTTP:// someurltosome /真棒/位

拿出那个等号后,它工作得很好(当然)。