1

我们使用 Sharepoint 进行开发,因此我们必须坚持使用 ASP.NET 3.5。如果我们的页面有带有自动回发的字段和一个按钮,一旦用户在自动回发字段上并单击按钮,我们就会遇到竞争条件。在这种情况下,按钮单击有时会早于自动回发的返回,因此会被覆盖。

有没有人遇到过这个问题?

什么是正确的解决方案?

ADDON:我正在谈论的案例是关于以下内容:

<form>
<ScriptManager />
<UpdatePanel>
<TextBox AutoPostBack="True" />
<Button />
</UpdatePanel>
</form>
4

2 回答 2

0

您可以在等待回发时禁用该按钮。但这是一个 hack,你可能不想这样做。通常,我希望控件会进行验证并在出现问题时阻止提交。

假设您在下拉框中有一个自动回发,在某些情况下,它会为某些子类别信息切换文本框。要么发生自动回发并首先更新文本框,要么提交将使用下拉列表的新值提交,服务器端验证将确定您是否需要在该子文本框中具有值。如果你这样做了,它会在启用它的情况下返回,并且可能会出现一些红色文本,说明它是必需的。

于 2011-05-05T03:30:05.457 回答
0

我能想到的最基本的解决方案是通过处理导致自动回发的客户端事件来禁用使用 javascript 的按钮。

于 2011-05-05T00:27:21.220 回答