【发布时间】:2008-11-05 16:46:03
【问题描述】:
我有一个基本上用作客户端计时器倒计时控件的控件。
我想在倒计时到达特定时间时触发服务器端事件。
有人知道如何做到这一点吗?
因此,当计时器倒计时到 0 时,会触发服务器端事件。
【问题讨论】:
标签: .net asp.net javascript event-handling
我有一个基本上用作客户端计时器倒计时控件的控件。
我想在倒计时到达特定时间时触发服务器端事件。
有人知道如何做到这一点吗?
因此,当计时器倒计时到 0 时,会触发服务器端事件。
【问题讨论】:
标签: .net asp.net javascript event-handling
您可能希望使用 AJAX 进行服务器端调用。
【讨论】:
IIRC,有一个计时器服务器控件可以为您执行此操作。
【讨论】:
当您呈现页面时,请创建一个客户端按钮,该按钮将在回发时执行您想要的操作。然后使用 ClientScriptManager.GetPostBackEventReference 传入控件作为引用,并使用属性向其添加客户端事件,如该链接底部的示例所示。
然后您可以看到它呈现的 Javascript 并在您的函数中使用它来触发正确的服务器端事件。
【讨论】:
以下是向服务器通知事件的一种方法。您实际上是在触发客户端事件,然后与服务器进行通信。这是如果您不是生活在 AJAX 世界中的情况。
function NotifyServer()
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.onreadystatechange = OnNotifyServerComplete;
xmlHttp.open("GET", "serverpage.aspx", true);
xmlHttp.send();
}
function OnNotifyServerComplete()
{
if (xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200)
{
if (xmlHttp.responseText != "1")
//do something
}
}
}
【讨论】: