ClientID是由ASP.Net生成的服務器控件得客戶端標識符,當這個控件生成到客戶端頁面的時候,在客戶端代碼訪問該控件時就需要通過ClientID來訪問。
以文本框為例:
一、未使用母版頁
js可以使用document.getElementById('控件的ID')形式,也可以使用document.getElementById('<%=控件的ID.ClientID %>')的形式。
注意:使用HTML <input>標簽,想在后台取得其Value值(string text = this.Text1.Value;),或者在js用document.getElementById('<%=Text1.ClientID %>');的形式獲取控件id,需要變為服務器控件,加上runat="server",即<input id="Text1" type="text" runat="server" onblur="change()">即可,當然,即使加上runat="server",js也可以使用document.getElementById('Text1');獲取其id。
二、使用母版頁
①對於標准服務器控件,如<asp:TextBox>,js獲取其控件ID必須使用document.getElementById('<%=控件的ID.ClientID %>');獲取其ID,代碼如下:
如果使用document.getElementById('控件的ID');會出現如下錯誤:

②對於HTML <input>標簽,
如果作為服務器控件,即有runat="server",js獲取其id使用document.getElementById('<%=控件的ID.ClientID %>');
如果不作為服務器控件,使用document.getElementById('控件的ID');獲取其id。 否則也會出現上圖的錯誤。
如果在母版頁body內的ContentPlaceHolder控件加上ClientIDMode="Static" 屬性后,內容頁中js獲取服務器控件id就可以直接使用其ID名(不用使用<%=控件ID.ClientID %>)