最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net UpdatePanel的簡單用法

 更新時間:2008年11月13日 20:25:20   作者:  
局部更新是ajax技術(shù)的最基本,也是最重要的用法,今天大概把asp.net ajax中的局部更新控件 updatepanel的用法記錄下,大家可以共同探討
UpdatePanel控制頁面的局部更新,這個更新功能依賴于scriptManger控件的EnablePartialRendering屬性,如果這個屬性設(shè)置為false局部更新會失去作用(scriptManger控件的EnablePartialRendering屬性的默認值為true不必刻意去設(shè)置)
下面是一個完整的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時,不能使用上面的ChildrenAsTriggers屬性,強行使用會報錯,是updatepanel默認的更新模式,和設(shè)置trigger觸發(fā)器沒有直接的關(guān)系。
conditional:只有滿足如下某一條件時才更新panel的內(nèi)容
如果設(shè)置UpdateMode="conditional" ChildrenAsTriggers="false"時候,子控件不允許觸發(fā)更新
1),當(dāng)panel中的某個控件引發(fā)PostBack時
2), 當(dāng)Panel指定的某個Trigger被引發(fā)時
3,RenderMode: 局部更新控件的呈現(xiàn)形式,倆中,Block(局部更新在客戶端以div形式展現(xiàn))和Inline(局部更新以span的形式展現(xiàn)在客戶端)
子元素:
1,contentTemplate: 局部更新控件的內(nèi)容模板,可以在其中添加任何控件
2,Triggers: 局部更新的觸發(fā)器,包括倆中:異步回發(fā)(AsyncPostBackTrigger) 用來實現(xiàn)局部更新。普通回發(fā)(PostBackTrigger)和普通的一養(yǎng),不管是否使用了局部更新控件,都會引起頁面的全部更新。
下面是幾個簡單的例子:
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>無標題頁</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>

不管哪個按鈕,都會觸發(fā)更新,只不過外面的按鈕postback的時候頁面顯示回發(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>無標題頁</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ù)庫的人應(yīng)該對觸發(fā)器這個概念比較清楚,Trigger對于UpdatePanel來說也是很關(guān)鍵的
開始簡單介紹了UpdatePanel的倆中觸發(fā)器asyncPostBackTrigger和PostBackTrigger的作用
這里用例子大概在稍微深入地介紹下:
1,普通回調(diào)觸發(fā)器(PostBackTrigger)
PostBackTrigger主要針對UpdatePanel模板內(nèi)的子控件,因為當(dāng)子控件被觸發(fā)時。它只會更新模版內(nèi)的數(shù)據(jù),模板外的控件不會發(fā)生變化.當(dāng)需要更新全局 內(nèi)容的時候就可以通過PostBackTrigger觸發(fā)器來實現(xiàn)頁面的全部回調(diào)。
下面是簡單例子:
復(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>無標題頁</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>
<!--下面的注釋掉,點擊updatePanel內(nèi)的button則只更新Panel內(nèi)的時間,取消注釋責(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)
是實現(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>無標題頁</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>

運行了發(fā)現(xiàn)點擊button2的時候只更新了 updatepanel內(nèi)部的時間
上面的例子也可以動態(tài)更新UpdatePanel的一些源代碼:
具體例子就不寫了下面 大概寫點主要代碼:
復(fù)制代碼 代碼如下:

protected void Page_Load(object sender, EventArgs e)
{
//獲取更新控件兒
UpdatePanel mapanel = UpdatePanel1;
//設(shè)置觸發(fā)模式
mapanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
//顯示時間
Label1.Text = DateTime.Now.ToString();
//添加觸發(fā)
AsyncPostBackTrigger tri = new AsyncPostBackTrigger();
tri.ControlID = "Button2";
tri.EventName = "Click";
mapanel.Triggers.Add(tri);
}
先記錄這些~還望多多大蝦們多多指教

相關(guān)文章

  • Coolite Cool Study 2 同時更新多個Tab

    Coolite Cool Study 2 同時更新多個Tab

    前段時間有一個需求是這樣子的——錄入一個查詢條件, 出來的查詢結(jié)果是多張頁面。不知道有沒朋友遇到這個問題。 展現(xiàn)的效果大概是這個樣子
    2009-05-05
  • Asp.net TreeView來構(gòu)建用戶選擇輸入的方法 推薦

    Asp.net TreeView來構(gòu)建用戶選擇輸入的方法 推薦

    選擇優(yōu)于輸入,這是一般人的共識,面對繁多的數(shù)據(jù),提供良好的選擇界面,一方面增強用戶的界面體驗,一方面也提高了數(shù)據(jù)的準確性,更節(jié)省了用戶的寶貴時間。
    2009-12-12
  • 使用.NET命令行編譯器編譯項目(如ASP.NET、C#等)

    使用.NET命令行編譯器編譯項目(如ASP.NET、C#等)

    很多情況你從網(wǎng)上下載了源程序,卻苦于本機沒裝開發(fā)環(huán)境而不能編譯查看,下面我簡單說一下解決辦法。
    2009-03-03
  • WPF轉(zhuǎn)換器IValueConverter用法

    WPF轉(zhuǎn)換器IValueConverter用法

    這篇文章介紹了WPF轉(zhuǎn)換器IValueConverter用法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • Asp.net通過SignalR2進行實時聊天

    Asp.net通過SignalR2進行實時聊天

    這篇文章介紹了Asp.net通過SignalR2進行實時聊天的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • .NET Core中依賴注入AutoMapper的方法示例

    .NET Core中依賴注入AutoMapper的方法示例

    這篇文章主要給大家介紹了關(guān)于.NET Core中依賴注入AutoMapper的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • [譯]ASP.NET Core 2.0 路由引擎詳解

    [譯]ASP.NET Core 2.0 路由引擎詳解

    本篇文章主要介紹了[譯]ASP.NET Core 2.0 路由引擎,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • .NET?Core部署為Windows服務(wù)的詳細步驟

    .NET?Core部署為Windows服務(wù)的詳細步驟

    這篇文章主要介紹了.NET?Core部署為Windows服務(wù),想要將.NET?Core部署為window服務(wù),項目中需要進行以下配置:項目中引入Microsoft.Extensions.Hosting.WindowsServices包,本文給大家詳細講解,需要的朋友可以參考下
    2022-10-10
  • .net Cookies安全性實踐分析

    .net Cookies安全性實踐分析

    首先,你要相信網(wǎng)絡(luò)是不安全的,TCP協(xié)議也是不安全的。HTTP訪問是基于TCP協(xié)議來完成的,其能夠被攻擊是一定的。
    2009-04-04
  • 在GridView中LinkButton的屬性的應(yīng)用(如何不用選中就刪除這一行)

    在GridView中LinkButton的屬性的應(yīng)用(如何不用選中就刪除這一行)

    GridView中LinkButton的屬性的應(yīng)用,實現(xiàn)不用選中就刪除這一行
    2009-04-04

最新評論

略阳县| 凉城县| 灵璧县| 望谟县| 汕尾市| 三门峡市| 师宗县| 贵南县| 南江县| 安陆市| 安吉县| 大同县| 米林县| 顺昌县| 特克斯县| 万州区| 仙桃市| 冀州市| 阆中市| 安泽县| 扶绥县| 房产| 长垣县| 抚松县| 民权县| 娱乐| 滕州市| 临西县| 鹰潭市| 石柱| 宜章县| 泾源县| 鄂伦春自治旗| 滨州市| 都安| 晋江市| 云阳县| 延川县| 朔州市| 宿松县| 舒城县|