我需要一个客户端脚本,以确认的计时器是OnTick事件可以继续进行。

我怎么调 CanContinue() 之前的定时器1的回发生?
我怎么取消回发,如果用户选择取消?

<%@ Page Language="C#" %>
<script runat="server">
    protected void Timer1_OnTick(object sender, EventArgs e)
    {
        Response.Write("Last Postback: " + DateTime.Now.ToString());
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Timer Test</title>
    <script type="text/javascript" language="javascript">
        function CanContinue() {
            return confirm('The page is requesting new data.  Ok or Cancel?');
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" />
        <asp:Timer ID="Timer1" runat="server" OnTick="Timer1_OnTick" Interval="300000" />
    </form>
</body>
</html>

注:一些读者可能需要的问题显示出一种模式确认每一个x分钟。我会同意,这是穷人可用性,但我不在一个位置改变的设计。


更新:我决定不采用定时器。看看 这个职位 对于细节上的一个替代解决方案。

有帮助吗?

解决方案 2

我决定不使用一个定时器毕竟。请参阅此篇以细节上的替代解决方案。

其他提示

我不知道,如果有一种方法,以配合的方法产生的定时调用服务器的行动。但是你可以得到一个参考javascript组件和启动/停止或更改的时间间隔。铭记这一点,可以做一些讨厌的黑客行为获得的功能。

例如:

  1. 增益的一个参照你的计时器。(喜欢的东西: $find(‘<%= Timer1.ClientID %>’);)
  2. 停止计时器。
  3. 创建一个新的计时器相同的时间间隔。
  4. 执行你的计时器和引起的条件。
  5. 根据回价值的条件..你可以设置的服务器生成的计时器间隔时间到-0和启动/停止。

这不是一个优雅的解决方案,但是我不能说我曾经使用建立在asp.net 计时器,所以我不能提供太多的洞察力。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top