【问题标题】:How do you raise a server-side event from javascript?如何从 javascript 引发服务器端事件?
【发布时间】:2008-11-05 16:46:03
【问题描述】:

我有一个基本上用作客户端计时器倒计时控件的控件。

我想在倒计时到达特定时间时触发服务器端事件。

有人知道如何做到这一点吗?

因此,当计时器倒计时到 0 时,会触发服务器端事件。

【问题讨论】:

    标签: .net asp.net javascript event-handling


    【解决方案1】:

    您可能希望使用 AJAX 进行服务器端调用。

    【讨论】:

      【解决方案2】:

      IIRC,有一个计时器服务器控件可以为您执行此操作。

      【讨论】:

        【解决方案3】:

        当您呈现页面时,请创建一个客户端按钮,该按钮将在回发时执行您想要的操作。然后使用 ClientScriptManager.GetPostBackEventReference 传入控件作为引用,并使用属性向其添加客户端事件,如该链接底部的示例所示。

        然后您可以看到它呈现的 Javascript 并在您的函数中使用它来触发正确的服务器端事件。

        【讨论】:

          【解决方案4】:

          以下是向服务器通知事件的一种方法。您实际上是在触发客户端事件,然后与服务器进行通信。这是如果您不是生活在 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
                  }
              }
          
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-03-10
            • 1970-01-01
            • 2011-08-10
            相关资源
            最近更新 更多