Ajax系列之三: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>,表示UpdatePanel最终呈现的HTML元素。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中的某个服务端控件,它所引发的回送不使用异步回送,而仍然是传统的整页回送。

现在我们来做一个简单的实例:

<span style="font-size:18px;">< %@ 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" />  
                     <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" >
                </div>

     </form>
 </body>
 </html>
</span>

里面包含了一个Triggers,里面第一个属性AsyncPostBackTrigger指定Button1实现异步更新,而PostBackTrigger

指定Button2实现整页更新。

.CS代码为:

<span style="font-size:18px;"> 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";
     }
</span>

UpdatePanel是一个很不错的控件,有了这个控件你可以不会写javascript代码,可以不动Ajax的机制,你就可以说你会用Ajax了!

Ajax系列之三:UpdatePanel,布布扣,bubuko.com

时间: 2024-08-25 09:31:49

Ajax系列之三:UpdatePanel的相关文章

ASP.NET之Ajax系列(一)

我们在Web开发中经常会接触到Ajax技术,同时Ajax技术也有很多种实现方式,那么,我们今天从第一种方式说起:ASP.NET原生控件实现Ajax. ASP.NET原生控件用于Ajax技术的主要是UpdatePanel和ScriptManager,前者顾名思义,是一个可以用于盛放内容的容器,用于实现页面的局部更新,在使用的时候直接将需要更新的内容放入即可.后者用于调用一些服务和脚本:例如我们本次Demo中使用JavaScript调用WebService服务. 本次Demo主要包含一个页面,一个W

ajax系列之用jQuery的ajax方法向服务器发出get和post请求

打算写个ajax系列的博文,主要是写给自己看,学习下ajax的相关知识和用法,以更好的在工作中使用ajax. 假设有个网站A,它有一个简单的输入用户名的页面,界面上有两个输入框,第一个输入框包含在一个form表单里用来实现form提交,第二个输入框是单独的.没有包含在form里,下面就用这两个输入框来学习下jQuery的ajax. 1,前端的html和javascript代码 页面html 1 <main style="text-align: center; margin: 200px a

SCCM 2012 R2实战系列之三:独立主站点部署

3.1 SCCM 2012 R2主站点的安装 SCCM 2012 R2跟以前的SCCM 2007不同的是多了一个管理中心站点的角色, 管理中心站点主要负责SCCM管理控制和报表查看. 主站点跟以往的SCCM 2007主站点功能一样,具备软件分发.系统部署等主要功能,一个管理中心站点下可以有多个主站点,主站点的关系可以是并列的. 在SCCM服务器中放入SCCM2012的安装光盘,以域管理员身份登录.如下图所示,在安装光盘的smssetup\bin\X64目录下找到extadsch.exe,双击运行

【iOS与EV3混合机器人编程系列之三】编写EV3 Port Viewer 应用监测EV3端口数据

在前两篇文章中,我们对iOS与EV3混合机器人编程做了一个基本的设想,并且介绍了要完成项目所需的软硬件准备和知识准备. 那么在今天这一篇文章中,我们将直接真正开始项目实践. ==第一个项目: EV3 Port Viewer== 项目目的:在iOS设备上通过WiFi连接EV3并且读取EV3每个端口的数据. 大家可以一周之后在App Store上搜索EV3 Port Viewer,那么我已经做了一个范例App发布了,正在审核中 应用的基本使用要求:将EV3和iPhone同时连接到同一个WiFi网络中

Sql Server来龙去脉系列之三 查询过程跟踪

我们在读写数据库文件时,当文件被读.写或者出现错误时,这些过程活动都会触发一些运行时事件.从一个用户角度来看,有些时候会关注这些事件,特别是我们调试.审核.服务维护.例如,当数据库错误出现.列数据被更新.CPU占用过高等,跟踪这些状态是非常有用地. 本章节覆盖了事件系统的关键区域:触发器.事件通知器.改变跟踪.SQL跟踪.扩展事件等.这些事件都有一个相似目的:响应或者记录发生的事件.但每一中事件的工作方式又不一样. 基础:触发器和事件通知器 触发器非常多,Data Manipulation La

完毕port(CompletionPort)具体解释 - 手把手教你玩转网络编程系列之三

手把手叫你玩转网络编程系列之三    完毕port(Completion Port)具体解释                                                              ----- By PiggyXP(小猪) 前 言 本系列里完毕port的代码在两年前就已经写好了,可是因为许久没有写东西了,不知该怎样提笔,所以这篇文档总是在酝酿之中--酝酿了两年之后,最终决定開始动笔了,但愿还不算晚-.. 这篇文档我很具体而且图文并茂的介绍了关于网络编程模型中完毕

TCP/IP网络编程系列之三

TCP/IP网络编程系列之三-地址族与数据序列 分配给套接字的IP地址和端口 IP是Internet Protocol (网络协议)的简写,是为首发网络数据而分配给计算机的值.端口号并非赋予计算机值,而是为了区分程序中创建的套接字而分配给套接字的序号. 网络地址 网络地址分为IPV4和IPV6,分别你别为4个字节地址簇和6个字节地址簇.IPV4标准的4个字节的地址分为网络地址和主机地址,且分为A.B.C.D.E 等类型.一般很少用到E类型.如下图所示:net-id指网络ID,host-id指主机

AJAX 怎样在一个UpDatePanel中刷新另一个updatePanel

原文:AJAX 怎样在一个UpDatePanel中刷新另一个updatePanel 在页面上(.aspx)<asp:UpdatePanel ID="MyID1" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional"><ContentTemplate>          //html内容</ContentTemplate

AWS系列之三 使用EBS

Amazon Elastic Block Store(EBS)可作为EC2实例的持久性数据块级存储.其具有高可用性和持久性的特点,可用性高达99.999%.给现有的EC2实例扩展新的存储块只需要几分钟的时间,省时省力.每个EBS块都被放置在一个特定的可用区内,并且会自动维护一个副本,随时保护数据安全. Amazon EBS共提供三种硬盘类型,SSD(固态硬盘), Provisioned IOPS SSD(特供IOPS固态硬盘)和Magnetic(普通硬盘).SSD是默认的EC实例的硬盘格式(凶残