Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 307|回复: 0

[默认分类] UpdatePanel的使用方法

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-5-25 15:42: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>
       
        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
        >
       

       
       
      
       表示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就是一般的赋值了。看看是不是很简单呀!呵呵!  
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-6-12 17:38 , Processed in 0.434076 second(s), 48 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表