asp.net Page.EnableEventValidation 屬性驗(yàn)證服務(wù)器控件的回發(fā)和回調(diào)事件出現(xiàn)的錯(cuò)誤
更新時(shí)間:2010年10月19日 02:23:01 作者:
Page.EnableEventValidation 屬性驗(yàn)證服務(wù)器控件的回發(fā)和回調(diào)事件出現(xiàn)的錯(cuò)誤前兩天用jQuery做了一個(gè)包含DropDownList聯(lián)動(dòng)的頁(yè)面,數(shù)據(jù)通過(guò)Ajax請(qǐng)求得到的。
本以為頁(yè)面很簡(jiǎn)單不會(huì)出現(xiàn)問(wèn)題,但運(yùn)行時(shí)出現(xiàn)了如下錯(cuò)誤:

Page.EnableEventValidation 屬性 參看了一下MSDN,獲取或設(shè)置一個(gè)值,該值指示頁(yè)面驗(yàn)證回發(fā)事件,還是驗(yàn)證回調(diào)事件。.NET Framework出于安全考慮需要為服務(wù)器端控件的回發(fā)和回調(diào)事件進(jìn)行注冊(cè),此事件驗(yàn)證機(jī)制可消除未經(jīng)授權(quán)的回發(fā)請(qǐng)求和回調(diào)帶來(lái)的風(fēng)險(xiǎn)。通過(guò)此模型,控件可在呈現(xiàn)期間注冊(cè)其事件,然后在回發(fā)或回調(diào)期間驗(yàn)證這些事件。默認(rèn)情況下,ASP.NET 中的所有事件驅(qū)動(dòng)控件均使用此功能。
第一反應(yīng),既然啟用了事件驗(yàn)證,那就在頁(yè)面中禁用驗(yàn)證,將<%@ Page EnableEventValidation="false" %>,問(wèn)題解決。但是為什么會(huì)出現(xiàn)這種問(wèn)題呢,google一下。
如果頁(yè)面含有 DropDownList 或 ListBox這樣的控件,可能以下原因造成:
在下拉菜單中使用ajax,常見(jiàn)于省市聯(lián)動(dòng)菜單,可能是由于在aspx頁(yè)面賦給了下拉菜單初始Item值,在事件回發(fā)時(shí)提示該錯(cuò)誤,將下拉菜單初始Item值刪除,在綁定事件中添加Item項(xiàng)。
原因是 DropDownList 控件的ListItem 的Value 屬性 包含漢字.只要將Value 改為英文或數(shù)字的就行了.最好在web.config中添加如下語(yǔ)句:
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-CN" uiCulture="zh-CN"/>
因?yàn)?POSTBACK 如果不采用 UTF-8 編碼, JAVASCRIPT 會(huì)認(rèn)為有問(wèn)題。 只改 requestEncoding="utf-8" 就可以。如有其他建議,請(qǐng)指出。

Page.EnableEventValidation 屬性 參看了一下MSDN,獲取或設(shè)置一個(gè)值,該值指示頁(yè)面驗(yàn)證回發(fā)事件,還是驗(yàn)證回調(diào)事件。.NET Framework出于安全考慮需要為服務(wù)器端控件的回發(fā)和回調(diào)事件進(jìn)行注冊(cè),此事件驗(yàn)證機(jī)制可消除未經(jīng)授權(quán)的回發(fā)請(qǐng)求和回調(diào)帶來(lái)的風(fēng)險(xiǎn)。通過(guò)此模型,控件可在呈現(xiàn)期間注冊(cè)其事件,然后在回發(fā)或回調(diào)期間驗(yàn)證這些事件。默認(rèn)情況下,ASP.NET 中的所有事件驅(qū)動(dòng)控件均使用此功能。
第一反應(yīng),既然啟用了事件驗(yàn)證,那就在頁(yè)面中禁用驗(yàn)證,將<%@ Page EnableEventValidation="false" %>,問(wèn)題解決。但是為什么會(huì)出現(xiàn)這種問(wèn)題呢,google一下。
如果頁(yè)面含有 DropDownList 或 ListBox這樣的控件,可能以下原因造成:
在下拉菜單中使用ajax,常見(jiàn)于省市聯(lián)動(dòng)菜單,可能是由于在aspx頁(yè)面賦給了下拉菜單初始Item值,在事件回發(fā)時(shí)提示該錯(cuò)誤,將下拉菜單初始Item值刪除,在綁定事件中添加Item項(xiàng)。
原因是 DropDownList 控件的ListItem 的Value 屬性 包含漢字.只要將Value 改為英文或數(shù)字的就行了.最好在web.config中添加如下語(yǔ)句:
復(fù)制代碼 代碼如下:
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-CN" uiCulture="zh-CN"/>
因?yàn)?POSTBACK 如果不采用 UTF-8 編碼, JAVASCRIPT 會(huì)認(rèn)為有問(wèn)題。 只改 requestEncoding="utf-8" 就可以。如有其他建議,請(qǐng)指出。
您可能感興趣的文章:
- ASP.NET自定義Web服務(wù)器控件之Button控件
- ASP.NET服務(wù)器端控件RadioButtonList,DropDownList,CheckBoxList的取值、賦值用法
- jquery獲取ASP.NET服務(wù)器端控件dropdownlist和radiobuttonlist生成客戶(hù)端HTML標(biāo)簽后的value和text值
- asp.net 服務(wù)器控件的 ID,ClientID,UniqueID 的區(qū)別
- asp.net下使用Request.From獲取非服務(wù)器控件的值的方法
- jQuery生成asp.net服務(wù)器控件的代碼
- ASP.NET 動(dòng)態(tài)寫(xiě)入服務(wù)器端控件
- asp.net Page.Controls對(duì)象(找到所有服務(wù)器控件)
- Asp.Net使用服務(wù)器控件Image/ImageButton顯示本地圖片的方法
相關(guān)文章
在vs2008中使用AJAX開(kāi)發(fā).net 2.0下的Web程序的方法
最近做項(xiàng)目需要用到AJAX,但是工作需要必須使用.net 2.0版本;但發(fā)現(xiàn)如果項(xiàng)目為.net2.0版本則沒(méi)有Ajax(web.config已經(jīng)配置上ajax) ,、工具欄中并不出現(xiàn)Ajax選項(xiàng)卡. 而且新建頁(yè)面也沒(méi)有AJAX頁(yè)面;后來(lái)查了很多資料 發(fā)現(xiàn)了一種解決方法2011-06-06
ASP.Net WebAPI與Ajax進(jìn)行跨域數(shù)據(jù)交互時(shí)Cookies數(shù)據(jù)的傳遞
本文主要介紹了ASP.Net WebAPI與Ajax進(jìn)行跨域數(shù)據(jù)交互時(shí)Cookies數(shù)據(jù)傳遞的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-05-05
FileUpload1 上傳文件類(lèi)型驗(yàn)證正則表達(dá)式
FileUpload1 上傳文件類(lèi)型驗(yàn)證正則表達(dá)式...2006-10-10
asp.net LC.exe已退出代碼為 -1的原因分析及解決方法
錯(cuò)誤“LC.exe”已退出,代碼為 -1。是VS2005,并且在項(xiàng)目中引用了第三方組件。2013-06-06
javascript判斷是否有對(duì)RadioButtonList選項(xiàng)選擇
寫(xiě)個(gè)Javascript來(lái)判斷是否有對(duì)RadioButtonList選項(xiàng)選擇,附動(dòng)畫(huà)演示,感興趣的朋友可以了解下,希望對(duì)您們有幫助2013-01-01
解決在Web.config或App.config中添加自定義配置的方法詳解
本篇文章是對(duì)在Web.config或App.config中添加自定義配置的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05

