id,clientid 和 uniqueid 的區別

 1、
ID是設計的時候所指定的ID。
ClientID是當這個控件生成到客戶端頁面時候,須要在客戶端訪問時候用的。
UniqueID是當須要參與服務端回傳的時候用的。
備註:當控件是子控件的時候(例如在用戶控件中的Button),ClientID在HTML頁面中是做爲控件的ID屬性,UniqueID是做爲控件的Name屬性,若是不是子控件,那麼ClientID和UniqueID是相同的
例如:
MyControl1是一個用戶控件,裏面包含一個ID爲Button1的按鈕,把MyControl1放在一個頁面中運行,下面是其頁面的HTML代碼
<input type="submit" name="MyControl1:Button1" value="Button" id="MyControl1_Button1" /> ClientID:MyControl1_Button1 UniqueID:MyControl1:Button1
補充:當要編寫用戶控件中一個控件的客戶端事件代碼時,若是想在用戶控件內編寫必需要獲取該控件的ClientID。
2、ASP.NET 的服務器端控件有三種關於 ID 的屬性 ID, ClientID 和 UniqueID
ID 
表示控件的服務器端編程的標識符,咱們寫服務器端的代碼,就要用到這個 ID, 經過這個 ID 能夠在服務器端對服務器端控件的屬性、方法和時間進行編程訪問。
ClientID  
表示由服務器端生成的客戶端控件的ID,常常用於在客戶端腳本中訪問服務器控件所呈現的HTML元素。
通常狀況下與服務器端的ID相同,有時,不能爲控件生成惟一的名稱,例如:
若是 Repeater 空間在它的某個模板中包含一個 Label 控件,則將在客戶端生成多個該 Lable 的 HTML 元素,
爲防止命名衝突,ASP.NET 爲各個服務器控件生成一個惟一的 ClientID ,ClientID 經過將子控件的父控件的 UniqueID 值與控件的 ID 值鏈接生成,各個部分之間如下劃線 _ 鏈接。
UniqueID  
用於獲取服務器控件的惟一的、以分層方式表示的標識符。
當將控件放置到重複控件(Repeater、DataList和DataGrid)中時,將可能生成多個服務器端的控件,這就須要區分服務器端的各個控件,以使它們的ID 屬性不衝突。
UniqueID 經過將子控件的父控件的 UniqueID 值與控件的 ID 值鏈接生成,各個部分之間以 IdSeparator 屬性指定的字符鏈接。
默認狀況下, IdSeparator 屬性爲冒號字符 (:)。此屬性爲在 .Net Framework2.0種新增長。
相關文章
相關標籤/搜索