?
看到這個圖是不是很親切熟悉哈,做過。net的肯定都見過哈
已經 將近4年沒碰。net了,今天正好朋友的程序有幾個bug,讓我幫忙修復下,于是我就抱著試試看的心情改了改,改到最后一個問題的時候也就是上面的這個問題,我一看,這不很明顯么
在出現該錯誤的頁面頭部的page中加入ValidateRequest="false",那么該頁面的任何一次Post提交都不會再驗證提交內容的安全性。
如:
ValidateRequest="false"?%?>
如果你使用的是.Net?3.5,MVC?2.0及更高的版本,那么可以在處理Post方法的Action添加一個特性:[ValidateInput(false)],這樣處理就更加有針對性,提高頁面的安全性。
如:
[ValidateInput(false)]
public?ActionResult?CatalogEdit(Catalog?model)
{
return?View();
}
重要:
如果你使用的是MVC?3.0,那么你會發現做了以上的設置后還是無效。這是因為你還需要在web.config中做以下設置:
<httpRuntime?requestValidationMode="2.0"?/?>
</system.web?>
注意:在MVC項目中,Views文件夾下與主項目下,都會有一個web.config文件。Views下的web.config文件只對Views文件夾下面的文件有效。如果你要處理的頁面不在Views下面,那么<httpRuntime?requestValidationMode="2.0"?/?>一定要設置在主項目下的web.config中才有用。
?
最后還是紅色字體幫助了我,我看了項目確實是mvc3 還是個比較低的版本