五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > 服務(wù)器端控件三種ID:ID,ClientID和UniqueID

服務(wù)器端控件三種ID:ID,ClientID和UniqueID

文章來源:365jz.com     點擊數(shù):477    更新時間:2009-12-02 21:17   參與評論
在ASP.NET 的服務(wù)器端控件中有三種關(guān)于 ID 的屬性,即 ID, ClientID 和 UniqueID。ID 表示控件的服務(wù)器端編程的標識符,我們寫服務(wù)器端的代碼,就要用到這個 ID, 通過這個 ID 可以在服務(wù)器端對服務(wù)器端控件的屬性、方法和時間進行編程訪問。ClientID 表示由服務(wù)器端生成的客戶端控件的ID, 經(jīng)常用于在客戶端腳本中訪問服務(wù)器控件所呈現(xiàn)的 HTML 元素。一般情況下與服務(wù)器端的 ID 相同,有時,不能為控件生成唯一的名稱,例如,如果 Repeater 空間在它的某個模板中包含一個 Label 控件,則將在客戶端生成多個該 Lable 的 HTML 元素, 為防止命名沖突,ASP.NET 為各個服務(wù)器控件生成一個唯一的 ClientID ,ClientID 通過將子控件的父控件的 UniqueID 值與控件的 ID 值連接生成,各個部分之間以下劃線 _ 連接。UniqueID 用于獲取服務(wù)器控件的唯一的、以分層方式表示的標識符。當將控件放置到重復控件(Repeater、DataList和DataGrid)中時,將可能生成多個服務(wù)器端的控件,這就需要區(qū)分服務(wù)器端的各個控件,以使它們的 ID 屬性不沖突。UniqueID 通過將子控件的父控件的 UniqueID 值與控件的 ID 值連接生成,各個部分之間以 IdSeparator 屬性指定的字符連接。默認情況下, IdSeparator 屬性為冒號字符 (:)。 例如,創(chuàng)建以下 ASP.NET 服務(wù)器控件: ClientID 屬性被設(shè)置為 TextBox1,在基于 HTML 的瀏覽器中,其結(jié)果元素與以下所示類似: 可以使用這些屬性在客戶端腳本中引用服務(wù)器控件。通常,必須在客戶端腳本中用完全限定引用來引用控件;如果控件是頁面中 form 元素的子控件,則一般使用document.forms[0].TextBox1.value = "New value"在客戶端腳本中引用控件。有些控件將子控件呈現(xiàn)在頁面中。這些控件中包括數(shù)據(jù)列表控件(如 GridView、DetailsView、FormView、DataList 和 Repeater 控件)、用戶控件和 Web 部件控件。   可以看到,在這些情況下,子控件可能不具有唯一的 ID,這可能是因為子控件是在某個模板中定義的,該模板會為每個數(shù)據(jù)行(數(shù)據(jù)列表控件)生成新的控件實例,也可能是因為可以從外部源(用戶控件和 Web 部件控件)將父控件添加到頁面中對于每個子控件:控件的 UniqueID 被呈現(xiàn)為 name??丶?ClientID 被呈現(xiàn)為 id 屬性。 ClientID 和 UniqueID 屬性都基于原始的 ID 屬性,并用足夠的信息進行了修改,以保證頁面中結(jié)果的唯一性。ClientID的值可在客戶端腳本中引用。如果在瀏覽器中顯示一個具有命名容器的頁面,則可以查看該頁面的源文件,從中找到唯一的 ID,這些 ID 作為命名容器子控件的 name 屬性和 id 屬性生成。但是,建議不要依賴于直接引用在瀏覽器中看到的 ID。因為用于生成子控件唯一ID 的公式可能會發(fā)生變化,應(yīng)當獲取子控件的 ClientID 屬性值,并用該值來引用該子控件。例如,您可能會在頁面中動態(tài)創(chuàng)建客戶端腳本。如果客戶端腳本引用一個子控件,則應(yīng)獲取該子控件的 ClientID 屬性,并將其嵌入到動態(tài)腳本中。 例2: 假設(shè)有子控件: 那么我們可以在腳本中這樣寫 var tempt = '<%=textboxInfo.ClientID%>'; var controlname = document.getElementById(tempt).name; var controlid = document.getElementById(tempt).id;   還有一個問題我們需要注意:在使用UniqueID和ClientID的時候要小心點,千萬不要“迫不及待”地使用了這些屬性,在運行的過程中可能會碰到一些讓人頭疼的問題.

如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答!! 點擊進入論壇

發(fā)表評論 (477人查看,0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學習

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號