c# - Asp.Net 刷新页面的静态方法

标签 c# asp.net javascript static methods

我有一个页面每 5 秒访问一次网络服务以更新页面上的信息。我正在使用 Ajax Control Toolkit 中的 DynamicPopulateExtender 来用一些文本填充面板。

我想做的是,如果满足特定条件,则完全刷新页面。

我能用我现有的方法做到这一点吗?这是我目前的东西:


ASP.NET

<cc1:DynamicPopulateExtender ID="DynamicPopulateExtender1" runat="server"
ClearContentsDuringUpdate="true" TargetControlID="panelQueue" BehaviorID="dp1"
ServiceMethod="GetQueueTable" UpdatingCssClass="dynamicPopulate_Updating" />

Javascript

Sys.Application.add_load(function(){updateQueue();});

    function updateQueue()
    {
        var queueShown = document.getElementById('<%= hiddenFieldQueueShown.ClientID %>').value;

        if(queueShown == 1)
        {
            var behavior = $find('dp1');
            if (behavior)
            {
                behavior.populate();                    
                setTimeout('updateQueue()', 5000);
            }
        }
    }

服务器(C#)

[System.Web.Services.WebMethod]
    [System.Web.Script.Services.ScriptMethod]
    public static string GetQueueTable()
    {
        System.Text.StringBuilder builder = new System.Text.StringBuilder();

        try
        {
             // do stuff
        }
        catch (Exception ex)
        {
             // do stuff
        }

        return builder.ToString();
    }

最佳答案

  • 您无法通过 ASMX 执行任何操作。
  • 您可以使用传统的页面重新加载或通过执行服务器端更改的回发,然后通过您的 UpdatePanel 或更简单的 Response.Redirect 进行更新,从而从 JavaScript 刷新页面。

关于c# - Asp.Net 刷新页面的静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/192264/

相关文章:

c# - 将 Pdf 列表中的某些文本加粗

C# if 语句速记运算符 (?:) results in unreachable code

c# - DropDownList.DataTextField 不能绑定(bind)到数据集?

javascript - 更改span的innerHTML

C#构建生成PDB文件和obj文件夹

c# - 如何从 C# 中的另一个项目调用或启动 asp.net web 服务 (asmx)

c# - 在每个 MSTest 测试方法开始时重置静态变量

c# - 使用其他语言字符的 HttpUtility.HtmlEncode 问题

javascript - 未捕获的类型错误 :Object[object object] has no method 'on'

javascript - 为什么在 Chrome 中,confirm() 函数会先加载?