ASP.NET調(diào)用UpdatePanel的Update()方法
ASP.NET中用編程的方法控制UpdatePanel的更新
UpdatePanel可以用來(lái)創(chuàng)建豐富的局部更新Web應(yīng)用程序,它是ASP.NET 2.0 AJAX Extensions中很重要的一個(gè)控件。對(duì)于UpdatePanel,我們也可以使用編程的方法來(lái)控制它的更新,可以通過(guò)ScriptManager的RegisterAsyncPostBackControl()方法注冊(cè)一個(gè)異步提交的控件,并且調(diào)用UpdatePanel的Update()方法來(lái)讓它更新。再次用我在前面的文章中用到的一個(gè)無(wú)聊的時(shí)間更新例子來(lái)看一下,有時(shí)候我覺(jué)得例子過(guò)于復(fù)雜更加不好說(shuō)明白所要講的內(nèi)容,如下代碼所示,注意Button1并不包含在UpdatePanel中:
- <%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default
.aspx.cs"Inherits="_Default"%>- <scriptrunatscriptrunat="server">
- voidButton1_Click(objectsender,EventArgse)
- {
- this.Label2.Text=DateTime.Now.ToString();
- }
- < SPAN>script>
- <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml">
- <headrunatheadrunat="server">
- <title>RefreshinganUpdatePanelProgrammatically< SPAN>title>
- < SPAN>head>
- <body>
- <formidformid="form1"runat="server">
- <asp:ScriptManagerIDasp:ScriptManagerID="ScriptManager1
"runat="server"/>- <div>
- <asp:UpdatePanelIDasp:UpdatePanelID="UpdatePanel1"runat=
"server"UpdateMode="Conditional">- <ContentTemplate>
- <asp:LabelIDasp:LabelID="Label1"runat="server"Text=
"更新時(shí)間:">< SPAN>asp:Label>- <asp:LabelIDasp:LabelID="Label2"runat="server"Text=
"Label"ForeColor="Red">< SPAN>asp:Label><br/><br/>- < SPAN>ContentTemplate>
- < SPAN>asp:UpdatePanel>
- <asp:ButtonIDasp:ButtonID="Button1"runat="server"Text=
"Button"OnClick="Button1_Click"/>- < SPAN>div>
- < SPAN>form>
- < SPAN>body>
- < SPAN>html>
再次修改上面的例子,使用ScriptManager的RegisterAsyncPostBackControl()注冊(cè)Button1為一個(gè)異步提交控件,并且調(diào)用UpdatePanel的Update()方法:
- <%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"
Inherits="_Default"%>- <scriptrunatscriptrunat="server">
- voidPage_Load(objectsender,EventArgse)
- {
- ScriptManager1.RegisterAsyncPostBackControl(Button1);
- }
- voidButton1_Click(objectsender,EventArgse)
- {
- this.Label2.Text=DateTime.Now.ToString();
- this.UpdatePanel1.Update();
- }
- < SPAN>script>
- <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml">
- <headrunatheadrunat="server">
- <title>RefreshinganUpdatePanelProgrammatically< SPAN>title>
- < SPAN>head>
- <body>
- <formidformid="form1"runat="server">
- <asp:ScriptManagerIDasp:ScriptManagerID="ScriptManager1"runat="server"/>
- <div>
- <asp:UpdatePanelIDasp:UpdatePanelID="UpdatePanel1"runat=
"server"UpdateMode="Conditional">- <ContentTemplate>
- <asp:LabelIDasp:LabelID="Label1"runat="server"Text="更新時(shí)間:">< SPAN>asp:Label>
- <asp:LabelIDasp:LabelID="Label2"runat="server"Text="Label"ForeColor
="Red">< SPAN>asp:Label><br/><br/>- < SPAN>ContentTemplate>
- < SPAN>asp:UpdatePanel>
- <asp:ButtonIDasp:ButtonID="Button1"runat="server"Text=
"Button"OnClick="Button1_Click"/>- < SPAN>div>
- < SPAN>form>
- < SPAN>body>
- < SPAN>html>
以上是ASP.NET調(diào)用UpdatePanel的Update()方法
【編輯推薦】