Ajax(5)UpdatePanel的使用方法

it2022-05-09  22

UpdatePanel控件也是Ajax里用得最多的控件之一,UpdatePanel控件是用来局部更新网页上的内容,网页上要局部更新的内容必须放在UpdatePanel控件里,他必须和上一次说的ScriptManager控件一起使用。现在来看UpdatePanel的属性

UpdatePanel重要的属性如下:

属性

说明

ChildrenAsTriggers

当UpdateMode属性为Conditional时,UpdatePanel中的子控件的异步回送是否会引发UpdatePanle的更新。

RenderMode

表示UpdatePanel最终呈现的HTML元素。Block(默认)表示<div>,Inline表示<span>

UpdateMode

表示UpdatePanel的更新模式,有两个选项:Always和Conditional。Always是不管有没有Trigger,其他控件都将更新该UpdatePanel,Conditional表示只有当前UpdatePanel的Trigger,或ChildrenAsTriggers属性为true时当前UpdatePanel中控件引发的异步回送或者整页回送,或是服务器端调用Update()方法才会引发更新该UpdatePanel。

ChildrenAsTriggers:当UpdateMode属性为Conditional时,UpdatePanel中的子控件的异步回送是否会引发UpdatePanle的更新。

RenderMode:表示UpdatePanel最终呈现的HTML元素。Block(默认)表示<div>,Inline表示<span>

表示UpdatePanel最终呈现的HTML元素。Block(默认)表示<div>,Inline表示<span>

UpdateMode:表示UpdatePanel的更新模式,有两个选项:Always和Conditional。Always是不管有没有Trigger,其他控件都将更新该UpdatePanel,Conditional表示只有当前UpdatePanel的Trigger,或ChildrenAsTriggers属性为true时当前UpdatePanel中控件引发的异步回送或者整页回送,或是服务器端调用Update()方法才会引发更新该UpdatePanel。Contente Template:用来定义UpdatePanel的内容 Triggers:分别为AsyncPostBackTrigger和PostBackTrigger AsyncPostBackTrigge用来指定某个服务器端控件以及其将触发的服务器端事件作为该UpdatePanel的异步更新触发器,它需要设置的属性有控件ID和服务端控件的事件;PostBackTrigger用来指定在UpdatePanel中的某个服务端控件,它所引发的回送不使用异步回送,而仍然是传统的整页回送 现在我们来做一个简单的实例:

<% @ Page Language = " C# "  AutoEventWireup = " true "  CodeFile = " Default.aspx.cs "  Inherits = " _Default "  %> <! DOCTYPE html PUBLIC  " -//W3C//DTD XHTML 1.1//EN "  " http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd " > < html xmlns = " http://www.w3.org/1999/xhtml " > < head runat = " server " >      < title > Untitled Page </ title >      < style type = " text/css " >          body  { background-attachment:fixed;                                           background-image:url(Blue hills.jpg);                }                          .style1          {                background-position:top center;         }                        </ style > </ head > < body  onload = " oSpan.className='style1' "  >      < form id = " form1 "  runat = " server " >      < span style = " font-size:14; width:250; "  ID = " oSpan "         onmouseover = " this.className='style2' "  onmouseout = " this.className='style1' " ></ span >          < div >              < asp:ScriptManager ID = " ScriptManager1 "      runat = " server " >                    </ asp:ScriptManager >          </ div >                     < asp:UpdatePanel ID = " uid "   runat = " server " >                      < ContentTemplate >                              < div  >                      < asp:Button ID = " Button1 "  runat = " server "  Text = " 异步回送 "  OnClick = " Button1_Click1 "  />& nbsp; & nbsp;                     < asp:Button ID = " Button2 "  runat = " server "  Text = " 整页回送 "  OnClick = " Button2_Click "  />< br  />                      < asp:GridView ID = " GridView1 "  runat = " server "  AutoGenerateColumns = " False "  Width = " 197px " >                          < Columns >                              < asp:BoundField DataField = " au_lname "  FooterText = " aaaa "  HeaderText = " au_lname "  />                          </ Columns >                      </ asp:GridView >                      < br  />                     < asp:Label ID = " Label1 "  runat = " server "  Text = " 当前时间 "  Font - Bold = " True "  Font - Size = " Large " ></ asp:Label >                    </ div >              </ ContentTemplate >              < Triggers >                  < asp:AsyncPostBackTrigger    ControlID = " Button1 "  />                  < asp:PostBackTrigger  ControlID = " Button2 "  />              </ Triggers >                        </ asp:UpdatePanel >            < div id = " div1 "  >                & nbsp; </ div >                      </ form > </ body > </ html > 里面包含了一个Triggers,里面第一个属性AsyncPostBackTrigger指定Button1实现异步更新,而PostBackTrigger 指定Button2实现整页更新。 .CS代码为:   protected  void  Button1_Click1( object  sender, EventArgs e)     {          SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=;database=pubs");        string sql1 = "select top 5 au_lname from authors ";        SqlDataAdapter myAdapter = new SqlDataAdapter(sql1, conn);        DataSet ds = new DataSet();        myAdapter.Fill(ds, "bieminG");        //来自web service的dataset,这里随便一个ds就可以;        this.GridView1.DataSource = ds.Tables["bieminG"].DefaultView; ;        this.GridView1.DataBind(); //数据绑定    }      protected  void  Button2_Click( object  sender, EventArgs e)     {        this.Label1.Text = "11111";    } Button1实现一个数据集的异步更新,BUTTON2就是一般的赋值了。看看是不是很简单呀!呵呵!

转载于:https://www.cnblogs.com/nanshouyong326/archive/2008/10/09/1306793.html

相关资源:数据结构—成绩单生成器

最新回复(0)