在WebForm中使用jQuery修改listbox值而不是回发

在WebForm中使用jQuery修改listbox值而不是回发,jquery,webforms,Jquery,Webforms,按下按钮时,会发生错误: System.Web.HttpUnhandledException:引发了类型为“System.Web.HttpUnhandledException”的异常。-->System.ArgumentException:回发或回调参数无效。在配置或页面中使用启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合要求,请使用ClientScriptManager.RegisterForEventValidation方法注册

按下按钮时,会发生错误:

System.Web.HttpUnhandledException:引发了类型为“System.Web.HttpUnhandledException”的异常。-->System.ArgumentException:回发或回调参数无效。在配置或页面中使用启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合要求,请使用ClientScriptManager.RegisterForEventValidation方法注册回发或回调数据以进行验证


然后,我在@Page指令中添加了EnableEventValidation=“false”,从而修复了错误。现在,在操作列表框之后,列表框中的新值不会回发到服务器。如何解决此问题?

您可以通过保持启用状态,然后注册控件以进行事件验证,从而从这些功能中获益。只需在PreRender或Render页生命周期中添加以下调用,控件就可以工作,而无需关闭eventValidation:

  Page.ClientScript.RegisterForEventValidation(this.UniqueID);

我试过了,但仍然得到了最初的错误。我还可以尝试什么?我认为这篇文章对你也有帮助