當頁面編輯或運行提交時,出現“從客戶端中檢測到有潛在危險的request.form值”問題,該怎麼辦呢?如下圖所示:
下面博主匯總出現這種錯誤的幾種解決方法:
問題原因:由於在asp.net中,Request提交時出現有html代碼或javascript等字符串時,程序系統會認為其具有潛在危險的值。環境配置會報出“從客戶端 中檢測到有潛在危險的Request.Form值”這樣的Error。
1、當前提交頁面,添加代碼
打開當前.aspx頁面,頁頭加上代碼:validateRequest=”false”,如:
復制代碼 代碼如下:
<%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="false" CodeFile="default.aspx.cs"%>
2、全局修改web.config配置文件(此舉不建議、不安全)
打開web.config文件,在<system.web></system.web>中間,加上如下代碼:
復制代碼 代碼如下:
<pages validateRequest="false" />
3、另一種處理方法:原因是所傳值含有特殊危險符號,那麼可以在傳前,利用Server.HtmlEncode(string)方法,對字符串進行編碼,這樣就會將危險字符轉義為普通的字符。如TextBox1.Text=Server.HtmlEncode(str);