ASP.NET Double-postbacks - 总是很有趣的问题

时间:2009-04-14 10:54:31

标签: asp.net postback

我知道双回发的一般指导方针,但是这个推动我坚果。这是一个按钮点击。 C#。 ASP.NET 2.0。当我在生产中点击它时,间歇地回发两次。不能从分期复制,至少在我迄今为止尝试的规模上。

在我开始这样做之前,代码没有改变,据我所知,逻辑流程当然不会要求随机时间点击代码。我开始深入研究网络跟踪(有一些重复的ack和删除的段,公平)并且想知道我是否应该修改Temporary ASP.NET文件夹。

还要注意这个jQuery模式弹出窗口.click(函数()调用返回true。我的Javascript脑后面的东西让我怀疑。

this interesting bug有关的空白img来源。

3 个答案:

答案 0 :(得分:4)

我只看到当按钮点击调用javascript手动调用form.submit()但没有正确取消click事件时弹出此问题,因此它会发布两次。

我不确定但是我相信如果是这样的话,一个回发将包括ButtonID = ButtonID而一个不会。

答案 1 :(得分:0)

确保您不会在其他事件上处理偶数,例如Page load,Page Init

答案 2 :(得分:0)

并确保您不会以错误的方式处理表单标签上的onsubmit事件,导致自己不进行两次回发。喜欢:

function Loading() {
  $('*').css('cursor','wait'); // To change cursor while waiting for postback
  document.forms[0].submit();  // Cause postback (maybe 2nd time if already fired by Button).
}

<form id="form1" runat="server" onsubmit="Loading();">