將不確定(ding)(ding)變(bian)為確定(ding)(ding)~MVC3的ValidateInput屬性(xing)失靈了
使用(yong)MVC3開發WEB應用(yong)程序遇到一(yi)個(ge)問題,在使用(yong)xheditor編輯器填寫復雜(za)內(nei)容時,在POST動作后(hou)(hou),出現了不能添加(jia)的情況,這(zhe)是(shi)正(zheng)常的,因(yin)為(wei)我(wo)沒有在控(kong)制器里設(she)(she)置ValidateInput,但(dan)當(dang)我(wo)設(she)(she)置了ValidateInput屬性,或者在Action上添加(jia)ValidateInput特性后(hou)(hou),結果還是(shi)一(yi)樣(yang),不能提(ti)交!
這是怎么回事?原來在web.config里(li)有個設置約束了(le)(le)它(ta),requestValidationMode對于.net framework4.0版(ban)本(ben)來說,它(ta)比之前的版(ban)本(ben)進行了(le)(le)更大成
程(cheng)序的優化(hua),這可以被設置為(wei)4.0和(he)2.0,對于(yu)MVC3項目,它被默認為(wei)4.0
4.0(默認)。 HttpRequest 對象在內部設(she)置(zhi)(zhi)一個標志,該標志指示(shi)每當訪問 HTTP 請(qing)求數據時應觸(chu)發(fa)請(qing)求驗證(zheng)。 這可保證(zheng)在請(qing)求期間訪問數據(如 cookie 和 URL)之前觸(chu)發(fa)請(qing)求驗證(zheng)。 配置(zhi)(zhi)文(wen)件中(zhong)頁元素(如果有(you)的(de)話)的(de)請(qing)求驗證(zheng)設(she)置(zhi)(zhi)或單(dan)獨頁面中(zhong)的(de) @ 頁指令的(de)請(qing)求驗證(zheng)設(she)置(zhi)(zhi)將被忽略。
2.0. 僅對網頁(而不是(shi)對所有 HTTP 請(qing)求(qiu))啟(qi)用(yong)請(qing)求(qiu)驗(yan)證(zheng)(zheng)(zheng)。 此外,配置文(wen)件中(zhong)的(de)(de) pages 元素(如果有的(de)(de)話)的(de)(de)請(qing)求(qiu)驗(yan)證(zheng)(zheng)(zheng)設置或單獨頁中(zhong)的(de)(de) @ Page 指令的(de)(de)請(qing)求(qiu)驗(yan)證(zheng)(zheng)(zheng)設置用(yong)來確定(ding)要驗(yan)證(zheng)(zheng)(zheng)哪些頁請(qing)求(qiu)。
<configuration>
<system.web>
<httpRuntime requestValidationMode="2.0"/>
</system.web>
</configuration>