Asp.Net 2.0 中”回傳或回調參數無效”的解決方案

來源:互聯網
上載者:User
    這兩天開發的時候碰到一個問題:在用Ajax做了聯動的下拉框之後使用伺服器的按鈕事件報錯:
    回傳或回調參數無效。在配置中使用

或在頁面中使用 啟用了事件驗證。出於安全目的,此功能驗證回傳或回調事件的參數是否來源於最初呈現這些事件的伺服器控制項。如果資料有效並且是預期的,則使用 ClientScriptManager.RegisterForEventValidation 方法來註冊回傳或回調資料以進行驗證。
    到網上查了一下,這個錯誤一般的解釋都是:
    目前為止遇到的出現情況有兩種:
一是Form嵌套,一個頁面只能有一個Form,仔細檢查代碼就可以解決。
二是在下拉式功能表中使用ajax,常見於省市聯動菜單,可能是由於在aspx頁面賦給了下拉式功能表初始Item值,在事件回傳時提示該錯誤,將下拉式功能表初始Item值刪除,在綁定事件中添加Item項。
    給出的解決方案有一些,經測試僅有一個方法有效:
    在後代碼中使用Request.Form["DDLcity"]; 來擷取相關dropdownlist的value值,而不能使用DDLcity.SelectedValue來擷取。大概的原因是因為Ajax改動了頁面的內容,回送到伺服器的頁面內容中的控制項值就不再正常,只能通過原始的方法擷取。
    這樣的結果就是很不方便。而且在頁面再次送到用戶端的時候會導致Dropdownlist控制項的內容紊亂,Ajax的優勢失去了,需要在伺服器端根據傳回來的資訊重新設定dropownlist的內容。現在還沒有很完美的解決方案。
    沒有試過微軟的Ajax,不知道是否有同樣的問題,想來是應該沒有的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.