天天看點

使用Asp.net MVC 2.0 +.NET 4.0 出現 “從用戶端 ... 中檢測到有潛在危險的 Request.Form 值”錯誤的解決辦法

我們在用Asp.net 開發 Web Form頁面時,通常要送出包含Html内容的資料給背景程式代碼處理時,會為頁面設定 ValidateRequest="false" 屬性,設定後,讨厭的 "從用戶端 ... 中檢測到有潛在危險的 Request.Form 值”的錯誤乖乖消失了。

而這一錯誤在ASP.NET MVC 2中,卻發生了改變;

首先,如果你使用的是.NET 3.5,那麼你隻要為接收表單值的Action添加一個特性:[ValidateInput(false)] 就可以了,無需在頁面設定ValidateRequest="false" 屬性。

如下:

        [HttpPost]

        [ValidateInput(false)]

        public ActionResult ArticleSave(BlogArticle model)

但是,如果您使用的是.NET 4.0,你會發現這一操作後,仍然無效。

非常抱歉,因為.NET 4.0做了改變,需要在你的Web.config 中,在<system.web>節點下增加:

<httpRuntime requestValidationMode="2.0"/>

這時就可以通過啦。

希望大家一起交流,一起進步!中國軟體,雄起~

本文轉自遠哥部落格園部落格,原文連結:http://www.cnblogs.com/taven/archive/2010/06/21/1762049.html,如需轉載請自行聯系原作者

繼續閱讀