码迷,mamicode.com
首页 > 其他好文 > 详细

UpdatePanel的用法

时间:2015-03-02 18:38:50      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

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中控件引发的异步回送或者整页回送,或是server端调用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中控件引发的异步回送或者整页回送,或是server端调用Update()方法才会引发更新该UpdatePanel。
Contente Template:用来定义UpdatePanel的内容
Triggers:分别为AsyncPostBackTrigger和PostBackTrigger
AsyncPostBackTrigge用来指定某个server端控件以及其将触发的server端事件作为该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就是一般的赋值了。看看是不是非常easy呀!呵呵!
 

UpdatePanel的用法

标签:

原文地址:http://www.cnblogs.com/bhlsheji/p/4309297.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!