我需要一个客户端脚本来确认Timer的OnTick事件可以继续。
如何在发生Timer1回发之前调用 CanContinue()?
如果用户选择取消,如何取消回发?
<%@ 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分钟显示一次模态确认。我同意这对可用性来说很差,但我无法改变设计。
更新:毕竟我决定不使用计时器。有关替代解决方案的详细信息,请参阅this post。
答案 0 :(得分:0)
我不知道是否有办法配合计时器生成的方法来调用服务器操作。但是,您可以获得对javascript组件的引用并启动/停止或更改间隔。考虑到这一点,你可以做一些讨厌的黑客攻击来获得你想要的功能。
例如:
$find(‘<%= Timer1.ClientID %>’);
)这不是一个优雅的解决方案,但我不能说我曾经使用内置的asp.net计时器,所以我不能提供太多的洞察力。
答案 1 :(得分:0)
毕竟我决定不使用Timer。有关替代解决方案的详细信息,请参阅this post。