關於Ajax下拉式功能表中出現“回傳或回調參數無效”的解決方案

來源:互聯網
上載者:User
回傳或回調參數無效。在配置中使用

或在頁面中使用 啟用了事件驗證。出於安全目的,此功能驗證回傳或回調事件的參數是否來源於最初呈現這些事件的伺服器控制項。如果資料有效並且是預期的,則使用 ClientScriptManager.RegisterForEventValidation 方法來註冊回傳或回調資料以進行驗證。

這兩天在開發的時候遇到一個這樣的問題,
回傳或回調參數無效。在配置中使用 <pages enableEventValidation="true"/> 或在頁面中使用 <%@ Page EnableEventValidation="true" %> 啟用了事件驗證。出於安全目的,此功能驗證回傳或回調事件的參數是否來源於最初呈現這些事件的伺服器控制項。如果資料有效並且是預期的,則使用 ClientScriptManager.RegisterForEventValidation 方法來註冊回傳或回調資料以進行驗證。 

在網上找了兩天資料都沒有結果
在 劍氣瀟瀟   的文章中看到原因是:
下邊引用自:劍氣瀟瀟  的文章http://www.cnblogs.com/asp600/archive/2006/11/04/550216.aspx

目前為止遇到的出現情況有兩種:
一是Form嵌套,一個頁面只能有一個Form,仔細檢查代碼就可以解決。
二是在下拉式功能表中使用ajax,常見於省市聯動菜單,可能是由於在aspx頁面賦給了下拉式功能表初始Item值,在事件回傳時提示該錯誤,將下拉式功能表初始Item值刪除,在綁定事件中添加Item項。

後來我自己發現,問題還不是出在那兒.
原因是 DropDownList 控制項的ListItem 的Value 屬性 包含漢字.只要將Value 改為英文或數位就行了.
網上還有一種解決辦法:把 EnableEventValidation 屬性設定為false;但是這樣只是沒有警告框而已.資料仍然無法傳遞給伺服器,導致SelectedIndex 值一直為零.

最好在web.config中添加如下語句:
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-CN" uiCulture="zh-CN"/>
結果搞定,現在貼到這裡希望對大家能夠有所協助.

看來ajax.net對中文支援有限啊,還是因為要在Web.Config設定一下編碼?????? 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.