一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

asp.net UpdatePanel的簡(jiǎn)單用法

UpdatePanel控制頁(yè)面的局部更新,這個(gè)更新功能依賴(lài)于scriptManger控件的EnablePartialRendering屬性,如果這個(gè)屬性設(shè)置為false局部更新會(huì)失去作用(scriptManger控件的EnablePartialRendering屬性的默認(rèn)值為true不必刻意去設(shè)置)
下面是一個(gè)完整的UpdatePanel的結(jié)構(gòu): 
復(fù)制代碼 代碼如下:
<ASP:ScriptManager ID="ScriptManager1" runat="server" >
</ASP:ScriptManager>
<ASP:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true" UpdateMode="Always" RenderMode="Block">
<ContentTemplate>
</ContentTemplate>
<Triggers>
<ASP:AsyncPostBackTrigger />
<ASP:PostBackTrigger />
</Triggers>
</ASP:UpdatePanel>

主要屬性:
1,ChildrenAsTriggers : 內(nèi)容模板內(nèi)的子控件的回發(fā)是否更新本模板(和UpdateMode的conditional有關(guān))
2,UpdateMode : 內(nèi)容模板的更新模式,有always和conditional倆種
always:每次ajax PostBack或者普通的PostBack都能引起panel的更新 如果UpdatePanel設(shè)置為Always時(shí),不能使用上面的ChildrenAsTriggers屬性,強(qiáng)行使用會(huì)報(bào)錯(cuò),是updatepanel默認(rèn)的更新模式,和設(shè)置trigger觸發(fā)器沒(méi)有直接的關(guān)系。
conditional:只有滿(mǎn)足如下某一條件時(shí)才更新panel的內(nèi)容
如果設(shè)置UpdateMode="conditional" ChildrenAsTriggers="false"時(shí)候,子控件不允許觸發(fā)更新
1),當(dāng)panel中的某個(gè)控件引發(fā)PostBack時(shí)
2), 當(dāng)Panel指定的某個(gè)Trigger被引發(fā)時(shí)
3,RenderMode: 局部更新控件的呈現(xiàn)形式,倆中,Block(局部更新在客戶(hù)端以div形式展現(xiàn))和Inline(局部更新以span的形式展現(xiàn)在客戶(hù)端)
子元素:
1,contentTemplate: 局部更新控件的內(nèi)容模板,可以在其中添加任何控件
2,Triggers: 局部更新的觸發(fā)器,包括倆中:異步回發(fā)(AsyncPostBackTrigger) 用來(lái)實(shí)現(xiàn)局部更新。普通回發(fā)(PostBackTrigger)和普通的一養(yǎng),不管是否使用了局部更新控件,都會(huì)引起頁(yè)面的全部更新。
下面是幾個(gè)簡(jiǎn)單的例子:
1,updatepanel的updatemode設(shè)置為always
復(fù)制代碼 代碼如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.ASPx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>無(wú)標(biāo)題頁(yè)</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<ASP:ScriptManager ID="ScriptManager1" runat="server">
</ASP:ScriptManager>
<ASP:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
<ContentTemplate>
<% =DateTime.Now.ToString()%>
<ASP:Button ID="Button1" runat="server" Text="UpdatePanelButton" />
</ContentTemplate>
</ASP:UpdatePanel>
<ASP:Button ID="Button2" runat="server" Text="Button" />
</form>
</body>
</html>

不管哪個(gè)按鈕,都會(huì)觸發(fā)更新,只不過(guò)外面的按鈕postback的時(shí)候頁(yè)面顯示回發(fā)而已 !
1,updatepanel的updatemode設(shè)置為conditional( ChildrenTriggers="false" 就是updatepanel中事件不觸發(fā)更新)
復(fù)制代碼 代碼如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.ASPx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>無(wú)標(biāo)題頁(yè)</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<ASP:ScriptManager ID="ScriptManager1" runat="server">
</ASP:ScriptManager>
<ASP:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
<ContentTemplate>
<% =DateTime.Now.ToString()%>
<ASP:Button ID="Button1" runat="server" Text="UpdatePanelButton" />
</ContentTemplate>
</ASP:UpdatePanel>
<ASP:Button ID="Button2" runat="server" Text="Button" />
</form>
</body>
</html>

下面介紹下updatePanel的觸發(fā)器Trigger
了解數(shù)據(jù)庫(kù)的人應(yīng)該對(duì)觸發(fā)器這個(gè)概念比較清楚,Trigger對(duì)于UpdatePanel來(lái)說(shuō)也是很關(guān)鍵的
開(kāi)始簡(jiǎn)單介紹了UpdatePanel的倆中觸發(fā)器asyncPostBackTrigger和PostBackTrigger的作用
這里用例子大概在稍微深入地介紹下:
1,普通回調(diào)觸發(fā)器(PostBackTrigger)
PostBackTrigger主要針對(duì)UpdatePanel模板內(nèi)的子控件,因?yàn)楫?dāng)子控件被觸發(fā)時(shí)。它只會(huì)更新模版內(nèi)的數(shù)據(jù),模板外的控件不會(huì)發(fā)生變化.當(dāng)需要更新全局 內(nèi)容的時(shí)候就可以通過(guò)PostBackTrigger觸發(fā)器來(lái)實(shí)現(xiàn)頁(yè)面的全部回調(diào)。
下面是簡(jiǎn)單例子:
復(fù)制代碼 代碼如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.ASPx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>無(wú)標(biāo)題頁(yè)</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<ASP:ScriptManager ID="ScriptManager1" runat="server">
</ASP:ScriptManager>
<ASP:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
<ContentTemplate>
<% =DateTime.Now.ToString()%>
<ASP:Button ID="Button1" runat="server" Text="UpdatePanelButton" />
</ContentTemplate>
<Triggers>
<!--下面的注釋掉,點(diǎn)擊updatePanel內(nèi)的button則只更新Panel內(nèi)的時(shí)間,取消注釋責(zé)全部更新-->
<!-- <ASP:PostBackTrigger ControlID="Button1"/>-->
</Triggers>
</ASP:UpdatePanel>
<br />
<% =DateTime.Now.ToString()%>
<ASP:Button ID="Button2" runat="server" Text="Button" />
</form>
</body>
</html>

2,異步回調(diào)觸發(fā)器(AsyncPostBackTrigger)
是實(shí)現(xiàn)局部更新的關(guān)鍵,在觸發(fā)器內(nèi)定義引起回發(fā)的控件和事件
例:
復(fù)制代碼 代碼如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.ASPx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>無(wú)標(biāo)題頁(yè)</title>
</head>
<body>
<form id="form1" runat="server">
<ASP:ScriptManager ID="ScriptManager1" runat="server">
</ASP:ScriptManager>
<ASP:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
<ContentTemplate>
<% =DateTime.Now.ToString()%>
</ContentTemplate>
<Triggers>
<ASP:AsyncPostBackTrigger ControlID="Button2" EventName="Click" />
</Triggers>
</ASP:UpdatePanel>
<br />
<% =DateTime.Now.ToString()%>
<ASP:Button ID="Button2" runat="server" Text="Button" />
</form>
</body>
</html>

運(yùn)行了發(fā)現(xiàn)點(diǎn)擊button2的時(shí)候只更新了 updatepanel內(nèi)部的時(shí)間
上面的例子也可以動(dòng)態(tài)更新UpdatePanel的一些源代碼:
具體例子就不寫(xiě)了下面 大概寫(xiě)點(diǎn)主要代碼:
復(fù)制代碼 代碼如下:
protected void Page_Load(object sender, EventArgs e)
{
//獲取更新控件兒
UpdatePanel mapanel = UpdatePanel1;
//設(shè)置觸發(fā)模式
mapanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
//顯示時(shí)間
Label1.Text = DateTime.Now.ToString();
//添加觸發(fā)
AsyncPostBackTrigger tri = new AsyncPostBackTrigger();
tri.ControlID = "Button2";
tri.EventName = "Click";
mapanel.Triggers.Add(tri);
}
先記錄這些~還望多多大蝦們多多指教

AspNet技術(shù)asp.net UpdatePanel的簡(jiǎn)單用法,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产精品自在自线亚洲 | 九九在线视频 | 天天操天天透 | 中文字幕在线亚洲 | 99精品国产闺蜜国产在线闺蜜 | 亚洲乱码一二三四区国产 | 久久九九亚洲精品 | 免费在线视频一区 | 一区在线观看 | 四虎影视国产在线观看精品 | 色婷婷亚洲精品综合影院 | 国产视频1| 7777精品伊人久久久大香线蕉 | 美女裸体自慰在线观看 | 凹凸精品视频分类国产品免费 | 手机在线观看黄色网址 | 久久国产精品1区2区3区网页 | 美女被日在线观看 | 好吊妞视频988在线播放 | 欧洲在线| 国产精品一区二区久久 | 岛国毛片在线观看 | 日韩在线资源 | 婷婷综合色伊人阁 | 美女黄影院 | 美女一区二区在线观看 | 色99视频| 国产欧美日韩综合精品一区二区三区 | 日本高清视频成人网www | 久久国产亚洲 | 好吊日视频在线 | 精品麻豆视频 | 欧美裸妇| 国产男人女人做性全过程视频 | 九月色婷婷 | 欧美激情a∨在线视频播放 欧美激情不卡 | 好吊色欧美一区二区三区四区 | 一区二区视频在线观看免费的 | 激情五月宗合网 | 伊人狼人久久 | 都市激情亚洲色图 |