Asp.net 定期刷新asp控件

Asp.net 定期刷新asp控件,asp.net,refresh,global-asax,Asp.net,Refresh,Global Asax,我在一个WCF服务项目中有一个aspx web表单,它提供了该服务的状态报告。目前我有一个刷新按钮,但我想自动定期刷新 我试过两种方法: 使用setInterval()在内部创建javascript,并在页面中使用RegisterStartupScript加载 ASystems.Timers.Timer在Page\u Load中,执行按钮单击所执行的操作 我没有得到(1)的权利,因为一个明显的范围问题,我显然误解了它应该如何工作。目前,脚本只是发出一个警报,我无法进一步了解 我没有得到(2)正确

我在一个WCF服务项目中有一个aspx web表单,它提供了该服务的状态报告。目前我有一个刷新按钮,但我想自动定期刷新

我试过两种方法:

  • 使用
    setInterval()
    内部创建javascript,并在
    页面中使用
    RegisterStartupScript
    加载
    
    
  • A
    Systems.Timers.Timer
    Page\u Load
    中,执行按钮单击所执行的操作 我没有得到(1)的权利,因为一个明显的范围问题,我显然误解了它应该如何工作。目前,脚本只是发出一个警报,我无法进一步了解

    我没有得到(2)正确的答案,尽管它似乎应该工作,因为在计时器函数中放置断点会显示正确的值,但是页面上的表单标签不会更新

    webform.aspx如下所示:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Manage.aspx.cs" Inherits="MyServiceWS.ManageForm" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Manage</title>
        <script type="text/javascript">
            // method (1)
            RefreshScript = function ()
            {
                setInterval(function () { alert("How to call the Refresh code?"); }, 5000);
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server" />
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <p>
                    Synchronisation status: 
                    <asp:Label ID="SyncStatusLabel" runat="server" />
                    <p>
                    <asp:Button ID="RefreshButton" runat="server" Text="Refresh" 
                        onclick="RefreshButton_Click" />
                    <p>
                </ContentTemplate>
            </asp:UpdatePanel>
        </div>
        </form>
    </body>
    </html>
    
    Global.asax
    文件包含静态字符串变量
    StatusDescription
    ,该变量正确地包含服务在其他地方填充的状态

    我被难住了,这两种方法都正确吗?我该怎么做?

    改变这一点:

    RefreshScript = function () 
            { 
                setInterval(function () { alert("How to call the Refresh code?"); }, 5000); 
            } 
    
    致:

    看看是否效果更好


    您也可以使用计时器方法,但不能通过System.Timers.timer;使用。

    我通过将工具箱中的AJAX计时器添加到
    UpdatePanel
    中,并使用它的
    OnTick
    属性调用
    RefreshButton\单击


    按照说明

    我最终使用了AJAX计时器方法。
    RefreshScript = function () 
            { 
                setInterval(function () { alert("How to call the Refresh code?"); }, 5000); 
            } 
    
    function RefreshScript()
    { 
         setInterval(function () { alert("How to call the Refresh code?"); }, 5000); 
    }