精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

日韩一区免费| 五月天亚洲综合| 国产精品专区在线| 久久久久久久久福利| 免费网站成人| 欧美日韩麻豆| 亚洲激情自拍视频| 国产精品亚洲аv天堂网| av网页在线观看| 日韩少妇视频| 精品一区二区三区视频在线观看| 亚洲精品一区中文字幕乱码| 性高湖久久久久久久久aaaaa| 中文字幕在线观看视频一区| 嫩草一区二区三区| 午夜精品久久久久久| 亚洲一区二区日本| 顶臀精品视频www| 57pao成人永久免费| 久久精品夜色噜噜亚洲aⅴ| 97精品视频在线| 日本黄色动态图| 热久久久久久| 综合分类小说区另类春色亚洲小说欧美| 欧美在线亚洲在线| 日本一区二区三区网站| 手机av在线| 久久99精品国产麻豆婷婷洗澡| 久久久久久久久电影| 欧美69精品久久久久久不卡| a黄色片在线观看| 国产精品一区二区视频| 欧美理论电影在线观看| 超碰中文字幕在线观看| 亚洲小说区图片| 欧美国产综合色视频| 国产精品一区久久久| 久久久久久久久影院| 亚州国产精品| 欧美性极品少妇| 中文字幕av导航| 性中国xxx极品hd| 中文精品在线| 亚洲国产精品va在线| 欧美视频在线播放一区| 激情在线视频| 精品一区二区免费视频| 国产精品h在线观看| 91 在线视频| 国产在线播放精品| 日本道色综合久久| www.午夜色| 欧美 日韩 综合| 日精品一区二区| 北条麻妃一区二区三区中文字幕 | 91精品在线观看国产| 欧美精品在线一区二区| 国产内射老熟女aaaa| 色婷婷视频在线| 日韩不卡在线观看日韩不卡视频| 91sao在线观看国产| 69精品无码成人久久久久久| 成人短视频软件网站大全app| 一个色妞综合视频在线观看| 久久久久高清| 国产老妇伦国产熟女老妇视频| 欧美日韩亚洲一区三区| 亚洲视频在线免费看| 91蝌蚪视频在线| 国产另类xxxxhd高清| 一区二区三区 在线观看视频| 91九色国产ts另类人妖| 日韩有码电影| 国产超碰在线一区| 国产精品久久久久久久app| 久久久久久久久久一区二区三区| 九一国产精品| 亚洲人成自拍网站| 激情五月激情综合| 亚洲桃色综合影院| 欧美成人在线直播| 爱爱爱爱免费视频| av日韩电影| 亚洲一级电影视频| 中文字幕一区二区三区最新 | 午夜精品一区二区三区在线播放| 久久免费激情视频| 日本欧美一区二区在线观看| 欧美精品video| 中文字幕第四页| 国产综合自拍| 久久精品电影网| 51妺嘿嘿午夜福利| 天堂俺去俺来也www久久婷婷 | 1769视频在线播放免费观看| av电影天堂一区二区在线观看| 成人免费自拍视频| 自拍偷拍精品视频| 久久久久久久波多野高潮日日| 色综合色综合网色综合| 希岛爱理中文字幕| 99国产精品自拍| 91精品久久久久久久| www.亚洲激情| 国产超碰在线一区| 天堂资源在线亚洲资源| 草草影院在线| 亚洲一二三级电影| 五月婷婷丁香综合网| 韩国成人动漫| 欧美一区二区播放| 亚洲精品乱码久久久久久动漫| 高清一区二区三区| www国产亚洲精品久久网站| 久久网一区二区| 麻豆精品国产传媒mv男同| 国产精品露脸自拍| 在线观看xxxx| 黄色小说综合网站| 成人一区二区电影| 每日更新av在线播放| 久久精品夜夜夜夜久久| 久久亚洲精品无码va白人极品| 成人a在线观看高清电影| 欧美调教femdomvk| 国产毛片毛片毛片毛片毛片毛片| **女人18毛片一区二区| 国产精品第1页| 天堂av网在线| 国产亚洲一二三区| 先锋影音网一区| av高清不卡| 亚洲精品电影在线观看| 少妇大叫太粗太大爽一区二区| 神马香蕉久久| 欧美极品少妇全裸体| 一级视频在线播放| 国产99久久久久| 9999在线观看| 亚洲人成777| 日韩在线观看成人| 超碰在线免费97| 国产日产亚洲精品系列| 亚洲国产精品久久久久爰色欲| 日本综合字幕| 欧美群妇大交群中文字幕| 久久综合在线观看| 欧美疯狂party性派对| 欧美激情在线视频二区| 国产精品一区二区av白丝下载| 国产精品伦一区| av免费观看大全| 国产精东传媒成人av电影| 欧美激情国内偷拍| 无码国产精品一区二区色情男同| 91丨porny丨户外露出| 91香蕉视频网址| 国产中文欧美日韩在线| 久久视频在线视频| 国产成人亚洲精品自产在线| 日韩精品高清不卡| 日韩av不卡播放| 欧美寡妇性猛交xxx免费| 日韩欧美一区二区在线| 国产欧美精品一二三| 国产精品久久久久一区二区三区厕所| 97久久精品在线| 香蕉久久国产av一区二区| 欧美视频专区一二在线观看| 在线免费看黄视频| 伊人久久亚洲美女图片| 国产精品视频一区二区高潮| 97视频在线观看网站| 7777女厕盗摄久久久| 国精产品一区二区三区| 日本午夜一区二区| www亚洲国产| 日本一区二区三区视频在线看 | 激情视频网站在线播放色| 欧美在线免费观看视频| 国产精品久久久久久在线观看| 成久久久网站| 51久久精品夜色国产麻豆| 国产三级漂亮女教师| 国产女主播一区| 人人爽人人爽av| 色婷婷亚洲mv天堂mv在影片| 青青草原一区二区| 日本在线人成| 欧美日韩亚洲高清一区二区| 精品夜夜澡人妻无码av| 日本伊人色综合网| 污污污污污污www网站免费| 色综合久久久| 国产+人+亚洲| 亚洲国产视频一区二区三区| 欧美日韩午夜剧场| 性一交一黄一片| 久久性色av| 欧美一级爱爱| 2022成人影院| 欧美精品午夜视频| av天堂一区二区三区| 中文字幕一区二区视频| 伊人国产在线视频| 成人看的羞羞网站| 99久re热视频这里只有精品6| 久久综合之合合综合久久| 欧美日韩精品电影| 九九热在线视频播放| 亚洲人成小说网站色在线 | 国产精品中文字幕欧美| 久久婷婷国产精品| 韩国在线视频一区| 手机成人av在线| 欧美理论视频| 国产精品无av码在线观看| a级片免费在线观看| 亚洲国产一区自拍| 99产精品成人啪免费网站| 日本韩国欧美三级| 久久精品视频7| 久久久久久久久久久久久女国产乱| 在线视频观看一区二区| 丝袜美腿一区二区三区| 一二三四视频社区在线| 中文字幕一区二区三区欧美日韩 | 日本高清久久久| 噜噜噜在线观看免费视频日韩| 久久国产精品网| 亚洲女娇小黑人粗硬| 国产精品视频500部| 天堂8中文在线最新版在线| 九九九久久久久久| 黄色成人在线观看| 日韩一区在线视频| 日韩av中文| 日日骚久久av| 男人天堂手机在线观看| 日韩久久免费av| 国产高清视频免费观看| 欧美一区二区视频观看视频 | 亚洲国产精品久久91精品| jlzzjlzzjlzz亚洲人| 3751色影院一区二区三区| 亚洲天堂中文网| 欧美精品免费视频| 国产女无套免费视频| 91精品国产欧美一区二区| 91国偷自产中文字幕久久| 欧美精品v国产精品v日韩精品| 亚洲影院一区二区三区| 欧美日韩一区 二区 三区 久久精品| 亚洲乱码国产乱码精品| 亚洲少妇最新在线视频| 欧美一区免费观看| 亚洲免费成人av| xxx在线播放| 国产日产亚洲精品系列| 亚洲不卡的av| 99re热视频精品| 国产5g成人5g天天爽| 国产毛片精品国产一区二区三区| 一区二区久久精品| 高清不卡在线观看av| 人妻体内射精一区二区三区| 99久久久久久| 免费看污片网站| 国产精品无码永久免费888| 中文字幕天堂网| 久久夜色精品国产欧美乱极品| 亚洲成人av免费观看| 国产精品一区二区果冻传媒| 中文字幕人妻一区| 国内外成人在线视频| 久久久久久久穴| 久久久亚洲精品一区二区三区| 天天干天天操天天拍| 亚洲精品一卡二卡| 黄色片视频网站| 欧美丝袜自拍制服另类| 国产夫妻自拍av| 亚洲精品午夜精品| 日本中文字幕伦在线观看| 欧美精品videossex性护士| 电影网一区二区| 成人激情视频在线播放| 欧美1区二区| 一级特黄录像免费播放全99| 久久av影视| 中国女人做爰视频| 噜噜噜躁狠狠躁狠狠精品视频| 国产一级做a爰片久久| 福利电影一区二区三区| 日韩av在线看免费观看| 亚洲免费伊人电影| 亚洲成人av影片| 日韩欧美精品在线视频| 国产乱视频在线观看| 亚洲香蕉成人av网站在线观看| 先锋av资源站| 久久久精品影院| 成人性生活视频| 91超碰rencao97精品| 国产精品久久久久久av公交车| 国产精品一区二区三区免费| 欧美wwwww| 麻豆传传媒久久久爱| 久久综合网络一区二区| 一区二区在线免费观看视频| 国产日产欧美一区二区三区| 国产精品suv一区二区69| 婷婷综合在线观看| 成年人视频在线免费看| 欧美一区二区三区在线电影| 国产中文字幕在线视频| 欧美精品videos另类日本| japansex久久高清精品| 日本一区二区三区www| 最新成人av网站| 欧美日韩亚洲一| 免费人成网站在线观看欧美高清| 深夜黄色小视频| 久久久亚洲欧洲日产国码αv| 久久久久久久久久久久国产| 91精品久久久久久久99蜜桃| sese一区| 久久精视频免费在线久久完整在线看 | 国产精一区二区| 手机成人在线| 日韩一区精品字幕| 精品少妇一区二区三区免费观| 亚洲国产美女搞黄色| 日本在线免费观看| 色婷婷久久久亚洲一区二区三区| 日本一区二区三区久久| 国产丝袜一区二区| 亚洲精品一区| 久久亚洲高清| 91久久高清国语自产拍| 无码少妇一区二区三区芒果| 精品一区二区影视| 成人免费视频入口| 精品婷婷伊人一区三区三| 国产一二三区在线视频| 国产精品久久久精品| 国产一区二区三区四区大秀| 一区不卡字幕| 久久精品国产精品青草| eeuss中文字幕| 欧美日韩国产精品自在自线| 在线视频二区| 91免费精品视频| 亚洲精品进入| 成人免费观看毛片| 亚洲国产精品成人综合色在线婷婷| 国产精品xxxxxx| 中文字幕日韩精品有码视频| 搞黄网站在线看| 国产综合色一区二区三区| 第一社区sis001原创亚洲| 8x8x最新地址| 99在线视频精品| 亚洲日本视频在线观看| 亚洲日本成人女熟在线观看| 精品国产欧美日韩一区二区三区| caoporen国产精品| 亚洲精品乱码| 成人免费看aa片| 欧美日韩精品一区二区三区蜜桃| 久做在线视频免费观看| 国产精品果冻传媒潘| 亚洲免费中文| 亚洲911精品成人18网站| 中文字幕av免费专区久久| 91美女精品网站| 久久久亚洲福利精品午夜| 亚洲精品aaaaa| 天天看片天天操| 亚洲国产日日夜夜| 九色在线视频| 成人在线激情视频| 1000部精品久久久久久久久| 免费一级做a爰片久久毛片潮| 欧美日韩精品是欧美日韩精品| 日本高清成人vr专区| 免费精品视频一区| 国产美女在线观看一区| www中文在线| 亚洲第一精品夜夜躁人人躁| 偷拍精品精品一区二区三区| 亚洲最新免费视频| 91欧美一区二区| 国产女人高潮时对白| 欧洲精品毛片网站| 欧美在线三区| 91精品国产高清91久久久久久 | 国产视频一区二区三区四区五区| 91大神在线播放精品| 国产精品二区不卡|