我有一个页面每 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/