Asp.net 定期刷新asp控件
我在一个WCF服务项目中有一个aspx web表单,它提供了该服务的状态报告。目前我有一个刷新按钮,但我想自动定期刷新 我试过两种方法: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)正确
setInterval()
在
内部创建javascript,并在页面中使用RegisterStartupScript
加载李>
ASystems.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);
}