精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

ASP.NET 4.0新特性ClientID的改進

開發 后端
這里就介紹ASP.NET 4.0新特性,關于ClientID的改進以擺脫之前很難控制的情況,希望本文能給大家帶來幫助。

ASP.NET 4.0新特性中,關于ClientID的改進可以在執行嵌套空間時,控制生成的Html的ID的情況。以往進行這樣的操作時,很容易出現錯誤,很難控制。

一 :簡介

我們知道因為在原來的ASP.NET應用程序中使用服務端控件在生成ClientID的時,是很難控制的,特別是在嵌套的控件的時候,比如在多個嵌套Repeater中要控制某一個控件生成的html的ID屬性,是很困難的,

在ASP.NET 4.0新特性中提供ClientMode,來控制生成的Html的ID的情況。

二 :原來的問題和解決方法

原來要獲得html的ID,就要使用這樣的方式:

  1. <%=lblName.ClientID%> 
  2.  
  3.  var lblName = document.getElementById("<%=lblName.ClientID%>");  
  4.            alert(lblName.innerText); 

如果是在嵌套的控件中,就需要使用并接字符串來組合成一下客戶端ID,

  1. for (var i = 1; i <= 9; i++) {  
  2.  
  3.               var Element = document.getElementById("Repeater1_ctl0" + i + "_lblName");  
  4.  
  5.               alert(Element.innerText);  
  6.           } 

其實也可以通過重寫控件的ID來,控制在客戶端ID的生成。

三:ASP.NET 4.0 的解決方案

現在你會發現在ASP.NET 4.0中會有一個ClientMode的新屬性:

他有四個值分別是:

Legacy:就是使用傳統的模式,設置ClientIDMode是無效的。

Inherit:這是繼承在控件層次結構中,父級點控件的ClientIDMode設置。也就是說如果你父控件設置ClientIDMode=“Static”,那這里的子控件的ClientIDMode也是"Static"

Static :生成指定的ID,但你要注意頁面上的ClientID的唯一性。

Predictable:這個設置值的使用,需要確保ID的是唯一性,這里分整個頁面的唯一性和在控件中的唯一性兩種情況,第二中就是說你可以在頁面設置一個ID為Name,你還是可以在你的Repeater的Item項目模板中設置ID為Name的Label子控件,而不會報錯,因為他會自動生成新的控件ID。具體下面詳細解說:

(1)使用Legacy 值:

  1. <asp :TextBox ID ="txtName" runat ="server" Width ="70%" ClientIDMode ="Legacy" /> 
  2. <input id="ctl00_txtName" style="width: 65%" name="ctl00$txtName" /> 

上面是和傳統生成 Client ID的情況的一樣。

(2)Static 模式

ClientIDMode的值設置為Static,這里要注意就是在repeater等數據綁定控件中使用子控件時,他們生成的子控件ID都是一樣的,所以控制不好控制。

  1. <tr> 
  2. <td> 
  3. <span id="lblName"> 
  4. td> 
  5. <tr> 
  6. <tr> 
  7. <td> 
  8. <span id="lblName"> 
  9. td> 
  10. <tr> 
  11. <tr> 
  12. <td> 
  13. <span id="lblName"> 
  14. td> 
  15. <tr> 


所以可以看出它比較適合單個控件的使用。

如果在repeater設置為Static,而將后面的控件設為Predictable

  1. <asp:SqlDataSource ID="SqlDataSource1" runat="server"   
  2.            ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"   
  3.            SelectCommand="SELECT * FROM [Products]">asp:SqlDataSource> 
  4.        <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1" ClientIDMode="Static"> 
  5.         <HeaderTemplate > 
  6.         <table> 
  7.         <tr> 
  8.            <td>sfsdtd> 
  9.         tr> 
  10.         HeaderTemplate> 
  11.         <ItemTemplate > 
  12.           <tr><td> 
  13.            <asp:Label   ID="lblID"  Text='<%# Eval("ReorderLevel")%>' runat="server" ClientIDMode="Predictable">asp:Label> 
  14.            td>tr> 
  15.            <tr><td> 
  16.            <asp:Label   ID="lblName"  Text='<%# Eval("ProductName") %>' runat="server" ClientIDMode="Predictable">asp:Label> 
  17.            td>tr> 
  18.            <tr><td> 
  19.            <asp:Label   ID="lblReorderLevel"  Text='<%# Eval("ReorderLevel")%>' runat="server" ClientIDMode="Predictable">asp:Label> 
  20.            td>tr> 
  21.         ItemTemplate> 
  22.         <FooterTemplate> 
  23.         FooterTemplate>     
  24.        asp:Repeater> 

結果為:

  1. <span id="lblName_0"> 
  2. <span id="lblName_1"> 
  3. <span id="lblName_2"> 
  4. <span id="lblName_3"> 

看來還比較靈活,

現在我們再在repeater外面方一個Label,ID為lblName_0的,ClientIDMode為Static或Predictable;

  1. <asp:Label   ID="lblName_0"  Text="worksguo" runat="server" ClientIDMode=“Static或Predictable”>asp:Label> 
  2.         <asp:SqlDataSource ID="SqlDataSource1" runat="server"   
  3.             ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"   
  4.             SelectCommand="SELECT * FROM [Products]">asp:SqlDataSource> 
  5.         <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1" ClientIDMode="Static"> 
  6.          <HeaderTemplate > 
  7.          <table> 
  8.          <tr> 
  9.             <td>sfsdtd> 
  10.          tr> 
  11.          HeaderTemplate> 
  12.          <ItemTemplate > 
  13.            <tr><td> 
  14.             <asp:Label   ID="lblID"  Text='<%# Eval("ReorderLevel")%>' runat="server" ClientIDMode="Predictable">asp:Label> 
  15.             td>tr> 
  16.             <tr><td> 
  17.             <asp:Label   ID="lblName"  Text='<%# Eval("ProductName") %>' runat="server" ClientIDMode="Predictable">asp:Label> 
  18.             td>tr> 
  19.             <tr><td> 
  20.             <asp:Label   ID="lblReorderLevel"  Text='<%# Eval("ReorderLevel")%>' runat="server" ClientIDMode="Predictable">asp:Label> 
  21.             td>tr> 
  22.          ItemTemplate> 
  23.          <FooterTemplate> 
  24.          FooterTemplate>     
  25.         asp:Repeater> 

結果在頁面上就會出現

  1. <span id="lblName_0"> 
  2. <span id="lblName_0"> 

但并沒有報錯。

如果在再外面加一個Label,ID為lblName_0的,ClientIDMode為Static或Predictable,就會出現報錯。

  1. <asp:Label   ID="lblName_0"  Text="worksguo" runat="server">asp:Label> 
  2.    <asp:Label   ID="lblName_0"  Text="worksguo" runat="server">asp:Label> 
  3.         <asp:SqlDataSource ID="SqlDataSource1" runat="server"   
  4.             ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"   
  5.             SelectCommand="SELECT * FROM [Products]">asp:SqlDataSource> 
  6.         <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1" ClientIDMode="Static"> 
  7.          <HeaderTemplate > 
  8.          <table> 
  9.          <tr> 
  10.             <td>sfsdtd> 
  11.          tr> 
  12.          HeaderTemplate> 
  13.          <ItemTemplate > 
  14.            <tr><td> 
  15.             <asp:Label   ID="lblID"  Text='<%# Eval("ReorderLevel")%>' runat="server" ClientIDMode="Predictable">asp:Label> 
  16.             td>tr> 
  17.             <tr><td> 
  18.             <asp:Label   ID="lblName"  Text='<%# Eval("ProductName") %>' runat="server" ClientIDMode="Predictable">asp:Label> 
  19.             td>tr> 
  20.             <tr><td> 
  21.             <asp:Label   ID="lblReorderLevel"  Text='<%# Eval("ReorderLevel")%>' runat="server" ClientIDMode="Predictable">asp:Label> 
  22.             td>tr> 
  23.          ItemTemplate> 
  24.          <FooterTemplate> 
  25.          FooterTemplate>     
  26.         asp:Repeater> 

這個時候就會報錯,有相同的ClientID。

所以ClientIDMode使用是有層次范圍的,在頁面上相同層次級別上不能有相同ID,如果在Repeater中新的層次中就可以與上一層次有相同ID.

(3)Predictable Mode

在GridView數據綁定控件中還有一個新的屬性ClientIDRowSuffix,它是在GridView中設置在使用Predictable模式,生成新的ID的后綴。

  1. <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"   
  2.             DataKeyNames="ProductName" DataSourceID="SqlDataSource1" ClientIDMode="Predictable" ClientIDRowSuffix="ProductName" > 
  3.             <Columns> 
  4.                 <asp:TemplateField HeaderText="ProductName" > 
  5.                     <ItemTemplate> 
  6.                         <asp:Label   ID="lblID"  Text='<%# Eval("ProductName")%>' runat="server" >asp:Label> 
  7.                          
  8.                     ItemTemplate> 
  9.                 asp:TemplateField>      
  10.             Columns> 
  11.         asp:GridView> 


生成的結果為:

  1. <tr> 
  2.             <th scope="col">ProductNameth> 
  3.         tr><tr> 
  4.             <td> 
  5.                         <span id="GridView1_lblID_Chai">Chaispan> 
  6.                          
  7.                     td> 
  8.         tr><tr> 
  9.             <td> 
  10.                         <span id="GridView1_lblID_Chang">Changspan> 
  11.                          
  12.                     td> 
  13.         tr><tr> 
  14.             <td> 
  15.                         <span id="GridView1_lblID_Aniseed Syrup">Aniseed Syrupspan> 
  16.                          
  17.                     td> 
  18.         tr><tr> 
  19.             <td> 
  20.                         <span id="GridView1_lblID_Chef Anton's Cajun Seasoning">Chef Anton's Cajun Seasoningspan> 
  21.                          
  22.                     td> 
  23.         tr><tr> 

你可以看見我們將ProductName作為后綴名。

新特性總結

現在有這個ClientMode就能很好的控制生成到客戶端的ID,這樣可以更好的動態控制頁面上標簽。

原文標題:ASP.NET 4.0 新特性--ClientID的改進(原創)

鏈接:http://www.cnblogs.com/worksguo/archive/2009/09/04/1560222.html

【編輯推薦】

  1. 深入研究Repeater控件:***的靈活性
  2. DataList控件入門介紹
  3. DataGrid Web控件運作機制探秘
  4. 小議ASP.NET數據Web控件之間的相似性
  5. 從傳統ASP到ASP.NET的轉變:了解控件
責任編輯:彭凡 來源: 博客園
相關推薦

2009-08-18 09:37:42

ASP.NET 4.0

2009-07-30 14:55:43

ASP.NET 2.0

2009-08-10 18:16:33

ICustomQuer.NET 4.0

2010-10-12 09:52:02

ASP.NET MVC

2011-01-15 23:07:59

2009-12-02 09:07:45

ASP.NET 4.0

2009-07-20 16:44:56

ASP.NET MVCIValueProvi

2010-01-08 11:04:06

ASP.NET 4SEO

2009-07-30 15:17:16

ASP.NET 2.0

2010-10-08 14:32:32

ASP.NET MVCNuPack

2024-07-02 08:45:08

2010-05-20 08:50:45

UrlRoutingASP.NET 4.0

2009-09-18 09:23:21

ASP.NET 4自動啟動

2009-12-30 10:21:36

.NET 4.0

2009-07-30 15:39:55

ASP.NET 2.0

2010-03-25 08:46:16

ASP.NET 4 B

2009-02-01 15:35:40

ASP.NETMVC實例

2010-12-07 09:38:15

ASP.NET MVC

2010-02-03 09:50:58

ASP.NET MVC

2009-07-28 17:17:19

ASP.NET概述
點贊
收藏

51CTO技術棧公眾號

欧美xxx黑人xxx水蜜桃| 国产成人自拍偷拍| 欧美xxxx在线| 日本福利一区二区| 久久最新免费视频| 手机看片福利永久| 六月婷婷色综合| 欧美激情手机在线视频| 国产精品密蕾丝袜| 国产亚洲字幕| 色婷婷av一区二区三区大白胸 | 国产精品9999| 精品无码久久久久| 精品一区av| 欧美一区二区三区在线看 | 日韩国产欧美一区二区三区| 久久中文字幕在线| 国产精品久久久久无码av色戒| 四虎视频在线精品免费网址| 懂色av影视一区二区三区| 在线视频亚洲自拍| 日本电影一区二区在线观看| 国产电影一区在线| 国产精品久久久久久久久借妻| 国产一二三四在线| 午夜影院欧美| 在线观看免费高清视频97| 7788色淫网站小说| 欧美三级一区| 欧美精品在线观看播放| 免费黄色特级片| 波多野结衣在线播放| 亚洲欧洲无码一区二区三区| 欧美色欧美亚洲另类七区| 亚洲精品综合网| 国产一区欧美二区| 国产欧美日韩最新| 中文字幕av影视| 免费欧美在线| 欧亚精品在线观看| 日韩精品在线免费视频| 在线不卡亚洲| 欧美激情一区二区三区高清视频| 我要看黄色一级片| 天天综合一区| 色视频www在线播放国产成人| 国产精品久久久久久在线观看| 在线视频成人| 91麻豆精品国产91久久久使用方法| 蜜臀视频一区二区三区| 免费日韩电影| 欧美视频在线免费| 成人av一级片| 成人小电影网站| 欧美午夜视频在线观看| 男人和女人啪啪网站| 超碰97免费在线| 婷婷开心激情综合| 北条麻妃在线视频观看| 色偷偷偷在线视频播放| 欧美日韩国产区| 黄色片视频在线免费观看| 色在线视频观看| 色狠狠色狠狠综合| 黄大色黄女片18第一次| 中韩乱幕日产无线码一区| 欧美视频日韩视频在线观看| 国产福利在线免费| 亚洲欧洲日韩精品在线| 日韩一卡二卡三卡| 日韩少妇一区二区| 中文字幕中文字幕精品| 亚洲图片欧美午夜| 国产成人在线网址| 欧美在线影院| 4388成人网| 成人黄色免费网| 国内不卡的二区三区中文字幕 | 色综合久久中文| 亚洲人成77777在线观看网| 国产传媒在线看| 综合天天久久| 91精品国产高清久久久久久| 五月天婷婷导航| 麻豆传媒一区二区三区| 国产精品国产亚洲精品看不卡15 | 91视频一区二区三区| 日韩中文字幕一区二区| 超碰porn在线| 色综合久久久久久久久久久| 国产精品视频中文字幕| 日韩一级淫片| 亚洲日本欧美中文幕| 爱爱视频免费在线观看| 亚洲专区一区| 亚洲精品免费一区二区三区| 亚洲色图21p| 中文字幕一区二区三区色视频| 久草视频这里只有精品| 国产成人午夜性a一级毛片| 日韩欧美卡一卡二| 99精品欧美一区二区| 欧美韩国一区| 国产精品偷伦免费视频观看的| 高清毛片aaaaaaaaa片| 中文字幕va一区二区三区| 成人在线播放网址| 欧美亚洲福利| 亚洲天堂网站在线观看视频| 欧美精品一区二区蜜桃| 蜜桃免费网站一区二区三区| 好吊色欧美一区二区三区| 黄视频在线观看网站| 福利精品视频在线| 美女日批在线观看| 成人亚洲一区二区| 91国产精品电影| www.国产麻豆| ...xxx性欧美| 九热视频在线观看| 亚洲成在人线免费观看| 欧美国产极速在线| 97国产精品久久久| 国产欧美一区二区精品久导航| 国产曰肥老太婆无遮挡| 国产亚洲精aa在线看| 中文字幕亚洲欧美一区二区三区| 亚洲国产成人精品激情在线| 国产精品2024| 国产又粗又硬又长| 色综合视频一区二区三区日韩 | 香蕉久久夜色精品| 高清一区二区三区视频| 成人影院www在线观看| 欧美三级日韩在线| 在线观看免费小视频| 美女久久一区| 免费观看成人高| 欧美13videosex性极品| 亚洲国产美女久久久久| 国产91av视频| 99re热这里只有精品免费视频| 欧美国产视频一区| 91欧美极品| 美女黄色丝袜一区| av官网在线观看| 一区二区三区在线视频观看| 老女人性生活视频| 午夜电影亚洲| 国产伦精品一区二区三区| 欧美卡一卡二| 亚洲护士老师的毛茸茸最新章节| 日本少妇激情视频| 91亚洲精品久久久蜜桃| 成人免费在线小视频| 日韩欧美影院| 国产精品扒开腿做爽爽爽的视频| 国产资源在线看| 欧美亚一区二区| 国产大屁股喷水视频在线观看| 美日韩一区二区三区| 国产高潮呻吟久久久| 日本在线成人| 97视频国产在线| 男女av在线| 欧美写真视频网站| 久久国产美女视频| 国产成人精品亚洲日本在线桃色| 久艹在线免费观看| 视频福利一区| 国产精品日韩在线| 国产精品va在线观看视色 | 欧美激情 亚洲| 国产精品尤物| 亚洲精品国产精品国自产观看 | 69p69国产精品| 青青操视频在线播放| av亚洲精华国产精华精华| 欧美s码亚洲码精品m码| 日韩国产一区二区三区| 18成人在线| 中文日产幕无线码一区二区| 色噜噜亚洲精品中文字幕| 精品国产99久久久久久宅男i| 亚洲国产成人av网| 女人十八毛片嫩草av| 国产老女人精品毛片久久| 男人天堂1024| 五月天久久777| 久久久久一区二区三区| 亚洲网站三级| 欧美一区二区三区……| 二区三区在线观看| 日韩毛片在线看| 国产一区二区三区黄片| 五月激情丁香一区二区三区| 黑人と日本人の交わりビデオ| 丁香网亚洲国际| 亚洲免费看av| 一区二区黄色| 国产日产欧美一区二区| 国产区精品区| www.久久久| 91亚洲精品| 韩国一区二区电影| 成人无遮挡免费网站视频在线观看 | 国产a∨精品一区二区三区不卡| 美女欧美视频在线观看免费 | 免费在线观看你懂的| 狠狠色狠狠色综合| 成熟老妇女视频| 国内精品福利| 国产奶头好大揉着好爽视频| 国产欧美日韩在线观看视频| 国产成人精品日本亚洲11 | 日韩免费av一区| 久久亚洲综合色| 成人做爰www看视频软件| 精品一区二区免费| 亚洲成人av免费看| 亚洲欧美成人综合| 全黄性性激高免费视频| 亚洲综合小说| 自拍另类欧美| 日韩成人精品一区| 欧洲精品在线一区| 窝窝社区一区二区| 极品尤物一区二区三区| 少妇精品在线| 亚洲直播在线一区| 91精品福利观看| 成人网址在线观看| 欧美a视频在线| 国产精品看片资源| 韩国成人在线| 国产精品久久久久久搜索| 欧美特黄aaaaaaaa大片| 国产91精品久| 一区二区乱码| 日本不卡高字幕在线2019| 国产黄大片在线观看| 久久久久久18| 超碰在线网站| 欧美一级淫片丝袜脚交| 欧美在线极品| 欧美在线激情网| 电影一区二区三区| 国产999精品久久久| 香蕉成人影院| 成人黄色午夜影院| 伊人久久一区| 超碰在线观看97| youjizz欧美| 久久国产精品亚洲va麻豆| 日韩伦理一区二区三区| 欧美精品欧美精品系列c| 韩日一区二区三区| 伊人久久大香线蕉精品| 99热国内精品| www.激情网| 亚洲欧洲午夜| 粉嫩虎白女毛片人体| 美女国产一区二区| 青青草原播放器| 成人h动漫精品| 日韩人妻无码精品综合区| 国产精品萝li| 欧美精品一区二区成人| 无码av中文一区二区三区桃花岛| 欧美日韩一级黄色片| 欧美视频一区二区三区在线观看| 97在线播放免费观看| 精品久久久久香蕉网| 日韩资源在线| 色偷偷88888欧美精品久久久 | 成人91在线| 天天爱天天做天天操| 亚洲国产二区| 久久综合伊人77777麻豆最新章节| 激情图区综合网| 久久久久久婷婷| 亚洲国产高清aⅴ视频| 校园春色 亚洲| 欧美日韩精品二区| 91久久国语露脸精品国产高跟| 精品精品欲导航| www.亚洲免费| 97国产在线观看| 亚洲欧美在线人成swag| 久久国产精品高清| 久久影视一区| 少妇av一区二区三区无码| 久久精品理论片| 97人妻天天摸天天爽天天| 亚洲欧洲精品成人久久奇米网| 日韩欧美亚洲一区二区三区| 欧美日韩久久久久久| 色呦呦免费观看| 久久综合伊人77777| 亚洲wwww| 国产综合av一区二区三区| 日韩欧美一区免费| 国产精品丝袜久久久久久消防器材| 久久99国产精品免费| 色呦呦一区二区| 亚洲激情综合网| 国产精品成人久久久| 亚洲国产又黄又爽女人高潮的| 久cao在线| 国产精品老女人精品视频| 欧美美女啪啪| 国产91在线亚洲| 麻豆成人久久精品二区三区小说| 中文字幕丰满孑伦无码专区| 亚洲一区二区欧美日韩| 国产又大又长又粗| 亚洲色图15p| 美女网站在线看| 国产91视觉| 欧美福利影院| 午夜影院免费版| 亚洲视频一区二区在线观看| 久草热在线观看| 亚洲精品视频免费| 国产h片在线观看| 成人在线看片| 女同性一区二区三区人了人一| 视色视频在线观看| 国产婷婷色一区二区三区四区 | 性感少妇一区| 给我免费观看片在线电影的| 亚洲国产日韩一区二区| 99热这里只有精品99| 久久久精品国产| 国产精区一区二区| 99re99热| 国产乱码精品一区二区三区av| 精品在线观看一区| 欧美日韩国产一级片| 97视频在线观看网站| 国产精品日韩电影| 99久久婷婷这里只有精品| 女人高潮一级片| 17c精品麻豆一区二区免费| 国产精品嫩草影院桃色| 成人444kkkk在线观看| 国产激情综合| 97超碰国产精品| 99久久精品国产导航| 中文字幕av影院| 亚洲天堂免费在线| 九九热这里有精品| 国产美女视频免费| 国产盗摄精品一区二区三区在线 | 国产精品免费一区二区三区观看| 欧美日韩亚洲一区三区| 亚洲国产精品狼友在线观看| 亚洲va天堂va国产va久| 亚洲色欧美另类| 国产精品美女999| 亚洲高清影视| 久久久久久婷婷| 色婷婷综合久久久中文字幕| 99se视频在线观看| 91亚洲va在线va天堂va国| 欧美欧美全黄| www.久久国产| 欧美日韩国产成人在线91| av免费网站在线观看| 国产日韩欧美精品| 日本一不卡视频| 国产精品白嫩白嫩大学美女| 亚洲国产成人一区| 成人网ww555视频免费看| 日韩 欧美 自拍| av亚洲精华国产精华精| 中文字幕人妻互换av久久| 欧美国产视频日韩| 在线日韩一区| 国内自拍第二页| 天天综合网天天综合色| 137大胆人体在线观看| yellow视频在线观看一区二区| 亚洲免费播放| 四虎地址8848| 亚洲开心激情网| 成人国产精品久久| 99精品人妻少妇一区二区| 亚洲视频你懂的| 午夜av免费在线观看| 国产一区二区丝袜| 国产日韩一区二区三区在线| 国产黄a三级三级| 日韩av网站导航| 91精品视频一区二区| 无遮挡又爽又刺激的视频 | 精品人妻少妇一区二区| 国产精品久久久久久亚洲伦| 三级网站免费观看| 91精品国产综合久久久久久蜜臀|