2

我有一个通过 Google Chrome 访问的 ASP.NET 应用程序。在特定页面上,我有一个带有 OnTextChanged 事件的 asp:TextBox,该事件重新计算页面上的其他一些字段。我还有一个带有 OnClick 事件的 asp:LinkBut​​ton,它可以将更改保存到数据库中。

我遇到了用户通过单击保存按钮离开文本框的问题。该按钮在 TextChanged 事件之前触发,因此未在保存中捕获更改。我通过在 save 方法的开头复制 TextChanged 逻辑来解决这个问题。在我提交这些更改之前进行了一些测试,一切正常。

但是现在我的测试人员面临着一个不同的问题。当他更改文本字段并单击保存按钮时,触发 OnTextChanged 事件以更新页面上的其他值,但保存按钮的 OnClick 事件根本没有触发。他必须再次单击保存按钮才能触发 OnClick 事件。我在我的机器上测试了相同的功能,它对我来说仍然可以正常工作。他和我正在使用相同的数据库在相同的环境中查看完全相同的页面。我让我的测试人员清除了他的缓存等。我能找到的唯一区别是我的 Chrome 版本是“14.0.835.202 m”,而他的只是“14.0.835.202”。

Chrome 和 ASP.NET 是否存在任何已知问题,其中事件触发可能是非确定性的?任何人都有其他想法为什么会发生这种情况?谢谢你的时间!

4

1 回答 1

1

我相信这是一个已知问题。

一种选择是在用户在 TextBox 中键入时禁用按钮(客户端),并在TextChanged事件完成后启用它。

另一种选择是删除AutoPostBack="true"并改用 AJAX。

于 2011-10-20T21:37:38.430 回答