ASP.NET控制項屬性:ID、ClientID 和 UniqueID 的區別

來源:互聯網
上載者:User

      ID 表示控制項的伺服器端編程的標識符,我們寫伺服器端的代碼,就要用到這個 ID, 通過這個 ID 可以在伺服器端對伺服器端控制項的屬性、方法等進行編程訪問。

      ClientID 表示由伺服器端產生的用戶端控制項的ID,   經常用於在用戶端指令碼中訪問伺服器控制項所呈現的 HTML 元素。一般情況下與伺服器端的 ID 相同,有時,不能為控制項產生唯一的名稱,例如,如果 Repeater 空間在它的某個模板中包含一個 Label 控制項,則將在用戶端產生多個該 Lable 的 HTML 元素, 為防止命名衝突,ASP.NET 為各個伺服器控制項產生一個唯一的 ClientID ,ClientID 通過將子控制項的父控制項的 UniqueID 值與控制項的 ID 值串連產生,各個部分之間以底線 _ 串連。
    提到ClientID就順便提一提OnClientClick主要是在用戶端執行的按鈕的用戶端事件
 如果我們設定了OnClientClick的事件讓其返回為false那麼系統將只執行OnClientClick事件而不會觸動到伺服器端的onclick事件
 據個例子:
    在使用使用者控制項的時候我們有時候通常要驗證資料的有效性和合法性如果是在普通的頁面上我們很好解決這個問題使用javascript就能很輕鬆的解決但是如果是使用使用者控制項就會有一個問題就是伺服器端的控制項的ID是不知道的!!這是我們是有辦法的!!

Code
 1 <asp:Button ID="btnSave" runat="server" Text="儲存"  CssClass="button"  
 2            onclick="btnSave_Click" OnClientClick="return IsNULL();" />&nbsp;&
nbsp;
 3<script language="javascript" type="text/javascript">

 4    function IsNULL()
 5   

 6        var txtid='<%=this.txtCode.ClientID%>'
;
 7        var txt=
document.getElementById(txtid).value;
 8        if(txt==""
)
 9        
{  
10           alert("請輸入編輯code"
)
11           return false
;
12        }

13   }
14
15</script>

以上的代碼則能很好的解決這個問題!!
<%=this.txtCode.ClientID%>綁定的是txtCode.ClientID
再通過OnClientClick事件對其內容進行驗證如果資料不合格返回false  Button 只是響應到OnClientClick事件而onClick將不執行!!這時候把這個使用者控制項拖到頁面中則能很好的和在本頁面一樣驗證資料的有效性

     UniqueID

用於擷取伺服器控制項的唯一的、以分層方式表示的標識符。當將控制項放置到重複控制項(Repeater、DataList和DataGrid)中時,將可能產生多個伺服器端的控制項,這就需要區分伺服器端的各個控制項,以使它們的 ID 屬性不衝突。UniqueID 通過將子控制項的父控制項的 UniqueID 值與控制項的 ID 值串連產生,各個部分之間以 IdSeparator 屬性指定的字元串連。預設情況下, IdSeparator 屬性為冒號字元 (:)。此屬性為在 .Net Framework2.0種新增加。

    可以簡單地認為:ClientID和UniqueID是當控制項放置到重複控制項(Repeater、DataList和DataGrid)中時,用於區分控制項的用戶端和伺服器的標識符。ID就是控制項無重複時在伺服器端表示控制項的一般程式設計識別碼。

   

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.