最近在討論區看到這個問題,小弟利用asp.net ajax的timer來實作這個功能
利用timer每隔一段時間,讓gridview自動跳頁並且更新gridview的內容
asp.net(c#)
GridviewAutoPage.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridviewAutoPage.aspx.cs"
Inherits="GridviewAutoPage" %>
<!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 >GridviewAutoPage </title>
< meta http-equiv ="Page-Enter" content ="blendTrans(duration=1)" />
< meta http-equiv ="Page-Exit" content ="blendTrans(duration=1)" />
</head>
< body >
< form id ="form1" runat ="server" >
< div >
< asp:ScriptManager ID ="ScriptManager1" runat ="server" >
</asp:ScriptManager>
< asp:UpdatePanel ID ="UpdatePanel1" runat ="server" >
< ContentTemplate >
< asp:GridView ID ="GridView1" runat ="server" AllowPaging ="True" PageSize ="1" >
</asp:GridView>
</ContentTemplate>
< Triggers >
< asp:AsyncPostBackTrigger ControlID ="Timer1" EventName ="Tick" />
</Triggers>
</asp:UpdatePanel>
</div>
< asp:Timer ID ="Timer1" runat ="server" Interval ="1000" OnTick ="Timer1_Tick" >
</asp:Timer>
</form>
</body>
</html>
Inherits="GridviewAutoPage" %>
<!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 >GridviewAutoPage </title>
< meta http-equiv ="Page-Enter" content ="blendTrans(duration=1)" />
< meta http-equiv ="Page-Exit" content ="blendTrans(duration=1)" />
</head>
< body >
< form id ="form1" runat ="server" >
< div >
< asp:ScriptManager ID ="ScriptManager1" runat ="server" >
</asp:ScriptManager>
< asp:UpdatePanel ID ="UpdatePanel1" runat ="server" >
< ContentTemplate >
< asp:GridView ID ="GridView1" runat ="server" AllowPaging ="True" PageSize ="1" >
</asp:GridView>
</ContentTemplate>
< Triggers >
< asp:AsyncPostBackTrigger ControlID ="Timer1" EventName ="Tick" />
</Triggers>
</asp:UpdatePanel>
</div>
< asp:Timer ID ="Timer1" runat ="server" Interval ="1000" OnTick ="Timer1_Tick" >
</asp:Timer>
</form>
</body>
</html>
GridviewAutoPage.aspx.cs
using
System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class GridviewAutoPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadData();
}
}
protected void LoadData()
{
this.GridView1.DataSource = new string[] { "Dotblogs", "F6 Team", "puma" };
this.GridView1.DataBind();
}
protected void Timer1_Tick(object sender, EventArgs e)
{
if (this.GridView1.PageCount > 1)
{
if (this.GridView1.PageIndex == this.GridView1.PageCount - 1)
{
this.GridView1.PageIndex = 0;
LoadData();
}
else
{
this.GridView1.PageIndex = this.GridView1.PageIndex + 1;
LoadData();
}
}
}
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class GridviewAutoPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadData();
}
}
protected void LoadData()
{
this.GridView1.DataSource = new string[] { "Dotblogs", "F6 Team", "puma" };
this.GridView1.DataBind();
}
protected void Timer1_Tick(object sender, EventArgs e)
{
if (this.GridView1.PageCount > 1)
{
if (this.GridView1.PageIndex == this.GridView1.PageCount - 1)
{
this.GridView1.PageIndex = 0;
LoadData();
}
else
{
this.GridView1.PageIndex = this.GridView1.PageIndex + 1;
LoadData();
}
}
}
}
執行結果:
參考網址: