zoukankan      html  css  js  c++  java
  • UpdatePanel的使用方法

    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>
    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; 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>
    表示UpdatePanel最终呈现的HTML元素。Block(默认)表示<div>,Inline表示<span>
    里面包含了一个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就是一般的赋值了。看看是不是很简单呀!呵呵! 
  • 相关阅读:
    461. Hamming Distance
    342. Power of Four
    326. Power of Three
    368. Largest Divisible Subset java solutions
    95. Unique Binary Search Trees II java solutions
    303. Range Sum Query
    160. Intersection of Two Linked Lists java solutions
    88. Merge Sorted Array java solutions
    67. Add Binary java solutions
    14. Longest Common Prefix java solutions
  • 原文地址:https://www.cnblogs.com/jiangnini/p/3434106.html
Copyright © 2011-2022 走看看