ASP.net帮助自动刷新网页

时间:2011-06-21 10:58:26

标签: c# asp.net c#-4.0

我正在开发一个Web项目,我需要将数据库从interbase数据库显示到网格视图中。然而,这些数据不断变化,iv设法查询数据库并将数据显示到网格视图中。我现在不知道如何在5分钟后自动刷新页面,以便查询和显示新数据。

请告诉我如何实现上述目标。

7 个答案:

答案 0 :(得分:3)

如果您不使用AJAX,可以设置META refresh标记,每5分钟重新加载一次页面。

如果您使用AJAX,则可以设置setTimeout以重新获取数据。

答案 1 :(得分:2)

将GridView放在UpdatePanel内并使用Timer

以下是一些链接。

http://ajax.net-tutorials.com/controls/timer-control/ http://mattberseth.com/blog/2007/08/using_the_ajax_timer_control_a.html
http://msdn.microsoft.com/en-us/library/cc295400.aspx

答案 2 :(得分:0)

创建页面,在HEAD部分中使用以下META标记

<META http-equiv = "refresh" URL = "default.html" />

答案 3 :(得分:0)

您可以在源自母版页的页面中设置META刷新,只需将其添加到PreRender中的代码

HtmlGenericControl ctrl = new HtmlGenericControl("meta");
ctrl.Attributes["http-equiv"] = "refresh";
ctrl.Attributes["content"] = "300";
this.Page.Header.Controls.Add(ctrl);

答案 4 :(得分:0)

在更新面板中使用timer control,设置间隔,在timer_Tick事件上调用服务器端事件,页面将定期刷新。间隔是以毫秒为单位。

<asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>

 <asp:UpdatePanel runat="server" id="TimedPanel" updatemode="Conditional">
    <Triggers>
        <asp:AsyncPostBackTrigger controlid="UpdateTimer" eventname="Tick" />
        <asp:PostBackTrigger ControlID="btnSubmit" />
    </Triggers>
    <ContentTemplate>
     <asp:Timer runat="server" id="UpdateTimer" interval="2000"  OnTick="Timer1_Tick"  /> 

答案 5 :(得分:0)

在default.aspx页面

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <!-- For auto refresh cause use this section-->
    <meta http-equiv="refresh" content="30">
<meta http-equiv="refresh" content="30;url=../account/default.aspx">
<title></title>
</head>

在default.aspx.cs背后的代码中

protected void Page_Load(object sender, EventArgs e)
{
   Response.AppendHeader("Refresh", 30 + "; URL=../account/default.aspx");
} 

此网页将每30秒自动刷新一次。

谢谢

答案 6 :(得分:-1)

您可以编写javascript计时器,然后刷新页面。无法重新选择语法,但它应该类似于window.location.reload或window.form.reload。您在Page_Load函数的末尾附加了javascript计时器函数。