2013年6月4日 星期二

Disable Validation Check - ASP.NET 4.5 Web Forms

注意,Disable Validation Check會有安全性的問題,若非必要,不要disable

若ASPX網頁包含以下control

image

Button Click後會印出文字方塊內容

protected void Button1_Click( object sender , EventArgs e ) {
    Response.Write( TextBox1.Text );  
  }

若執行時輸入JavaScript程式:

image

ASP.NET會有錯誤訊息:

image

若想要JavaScript能夠執行

作法1:

設定ASPX Page ValidateRequest為false:

image

則JS程式可執行

image

作法2,使用ASP.NET 4.5 新功能defer (lazy) validation

  • requestValidationMode設4.5

image

TextBox設定ValidateRequestMode="Disabled",不驗證:

image

在server side可以使用Request.Unvalidated.Form取得未驗證的資料,若使用Request.Form會產生驗證例外錯誤:

image

測試,JS可以執行

image

沒有留言:

總網頁瀏覽量