簡體   English   中英

使用Button提交表單但不使用LinkBut​​ton提交表單時,無效的回發或回調參數錯誤

[英]Invalid postback or callback argument error when submitting form with Button but not with LinkButton

我有一個表單,在其中使用Jquery的ajax函數動態填充DropDownList來從Web服務中檢索值列表。 我最初有一個Button控件,它提交了表單。 這導致“ exception:Invalid postback或callback參數。事件驗證已啟用...。”錯誤。

在研究了諸如禁用事件驗證(錯誤)和注冊事件驗證(在這種情況下將不起作用)之類的選項之后,最好的選擇似乎是將Button控件交換為LinkBut​​ton控件。 我這樣做了,果然,現在可以正常工作了。

我的問題是...為什么?

LinkBut​​ton有什么不同之處,那就是它不會引起事件驗證錯誤,並且由於沒有發生事件驗證,我是否通過更改為LinkBut​​ton引入了新的安全風險?

由於您在回發時發送回的數據與服務器發送時的數據不同,因此發生了回發驗證錯誤。

您應該看一下Scott K. Allen的這篇博客文章 他建議在網頁的“渲染”事件中為下拉菜單添加所有可能的值。

您也可以創建自己的DropDownList版本,因為它不需要此人建議的事件驗證。

我個人的觀點是,您可能必須重新考慮如何與數據交互。 如果需要動態提供DropDownList,並且使用ASP.NET WebForms,則需要為此提供一個PostBack。 如果需要,可以使用UpdatePanel使其具有“ Ajax”的感覺。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM