天天看點

Ajax無重新整理實作定時更新資料

1、引用 ajax.dll 實作走動時間顯示來檢視效果

前台代碼

<script language="javascript" type="text/javascript">

//定時更新時間

function refresh()

{

var div = document.all("divTime");

var strTime = Default1.GetAllOnLineUser().value;

if (strTime != "")

div.innerHTML = strTime;

//1秒鐘重新整理

window.setTimeout(refresh, 1000);

}

</script>

<body>

<form id="form1" runat="server">

<div id="divTime"></div>

<script>

refresh();

</script>

</form>

</body>

背景代碼:

protected void Page_Load(object sender, EventArgs e)

{

//注冊Ajax類型

Ajax.Utility.RegisterTypeForAjax(typeof(Default1));

}

[Ajax.AjaxMethod()]

public string GetAllOnLineUser()

{

return "目前時間:" + DateTime.Now.ToString();

}

2、使用 Ajax 控件實作定時重新整理資料

HTML代碼:

<body>

<form id="form1" runat="server">

<div>

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

</asp:ScriptManager>

<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true">

<ContentTemplate>

<asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Interval="1000">

</asp:Timer>

<asp:GridView ID="GridView1" runat="server">

</asp:GridView>

</ContentTemplate>

</asp:UpdatePanel>

</div>

</form>

</body>

背景代碼:

protected void Page_Load(object sender, EventArgs e)

{

ShowAuthors();

}

public void ShowAuthors()

{

SqlDataAdapter sda = new SqlDataAdapter("select * from authors", "server=.;database=pubs;user=sa;");

DataTable dt = new DataTable();

sda.Fill(dt);

GridView1.DataSource = dt;

GridView1.DataBind();

}

protected void Timer1_Tick(object sender, EventArgs e)

{

GridView1.DataBind();

}