Mik*_*ail 5 asp.net postback asynchronous timer
我有一个ASP.NET网站.我希望用户做出决定并在一定时间内单击给定按钮之一并将其重定向到另一个页面.如果他没有做出决定,他仍然会被重新定向在我头脑中的"无选择"标记.
我用来asp:Timer在时间到了之后启动回发.我做致电重定向Response.Redirect('page.html', false)的Page_Load处理程序.在这种情况下,我可以在实际重定向之前处理button_click或timer_tick事件.处理完其中一个事件后,将呈现页面并完成重定向.
但我有两个问题.首先,如果输入处理的时间足够长,则会触发第二个计时器的滴答,启动新的回发,并取消当前的电流!其次,如果用户在时间到来之前单击按钮,则在重定向完成之前会发生计时器滴答,并且它会再次覆盖用户点击的处理!
我该如何解决这些问题?如何在触发第一个滴答或用户点击按钮后在客户端禁用定时器?或者解决我的任务的更好方法是什么?谢谢.
我得到了这两个问题的解决方案。
我放置asp:Timer在一个asp:UpdatePanel控件内。就我而言,这是正确的做法,因为我不需要在下一个问题之前刷新整个页面。但我发现在这种情况下,计时器的滴答声不会互相干扰。
如此处所述,我可以asp:Timer像这样禁用 JavaScript:
$find("TimerMaxJudgeTime")._stopTimer();
Run Code Online (Sandbox Code Playgroud)
然后我将其绑定到我的按钮onclick事件,我就完成了。由于计时器放置在 内部UpdatePanel,因此它会在回发后自动重新创建并启用。