我正在开发一个Web项目,我需要将数据库从interbase数据库显示到网格视图中。然而,这些数据不断变化,iv设法查询数据库并将数据显示到网格视图中。我现在不知道如何在5分钟后自动刷新页面,以便查询和显示新数据。
请告诉我如何实现上述目标。
答案 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计时器函数。