IE9提交行为OnClick事件取消但PostBack仍然发生

OnClick Event Cancelled but PostBack Still Occurs in IE9 for Submit Behavior

网络表单上的提交按钮附加了一个 OnClick 事件。该按钮在 IE9 以外的所有浏览器中都能正常工作。按钮验证由 parsleyjs 完成,我认为这是问题的来源;因为 OnClick 事件被验证取消了。但是,回发事件仍然发生。即使发生回发,它也不会触发 OnClick 事件。

一个可能的解决方案是切换到 UseSubmitBehavior="true",这确实有效;但是,我宁愿弄清楚是什么导致回发发生而不是触发事件。

您可以使用 asp:Panel(呈现为 div)而不是 div;并在服务器端更改它的 Visible 属性 这样你就可以将它渲染(或不渲染)给客户端。

另一种选择是使用 asp:Literal,它不会呈现 div 并且不会在其 ViewState 中发送回服务器。

最后的问题是,parsley.remote.js parsley.js 的扩展以某种方式修改了回发请求,因此未提供 EVENTARGUMENT。深入研究 parsley.remote.js 应该让位于正在发生的事情。

删除库(对我来说它是未使用的)更正了它。