1、简述
  ID是设计的时候自己所指定的ID,是我们分配给服务器控件的编程标识符,我们常常使用this.controlid来寻找控件,那么这个controlid就是这里所说的ID.
  ClientID是由ASP.Net生成的服务器控件得客户端标识符,当这个控件生成到客户端页面的时候,在客户端代码访问该控件时就需要通过ClientID来访问。
  UniqueID 服务器控件的唯一的、分层的形式限定的标识符。 是当需要参与服务端回传的时候用的。当将控件放置到重复控件(Repeater、DataList和DataGrid)中时,将可能生成多个服务器端的控件,这就需要区分服务器端的各个控件,以使它们的 ID 属性不冲突。UniqueID 通过将子控件的父控件的 UniqueID 值与控件的 ID 值连接生成,各个部分之间以 IdSeparator 属性指定的字符连接。默认情况下, IdSeparator 属性为冒号字符 (:)。此属性为在 .Net Framework2.0种新增加。 (UniqueID 的解释做了参照,本篇重点强调ID与ClientID)
  2、代码示例解说
  看看如下代码:
  复制代码 代码如下:
  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
  <title>Untitled Page</title>
  </head>
  <script type="text/javascript">
  function GetValue()
  {
  <SPAN style="COLOR: #0080c0"><STRONG>var t=document.getElementById('<%= TextBox1.ClientID %>');</STRONG></SPAN>
  t.innerText=2;
  }
  </script>
  <body>
  <form id="form1" runat="server">
  <div>
  <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></div>
  <input type="button" runat="server" id="button1" οnclick="GetValue();" value="赋值" />
  </form>
  </body>
  </html>
  有人会问了:var t=document.getElementById("TextBox1");不是也运行的好好的吗?
  答案:在一般的aspx中ID=ClientID(前提是你自己已经设置好了ID值)
  看下面代码,设置了模板页
  复制代码 代码如下:
  <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" Title="Untitled Page" %>
  <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
  <script type="text/javascript">
  function GetValue()
  {
  <SPAN style="COLOR: #0080c0"><STRONG>document.write('<%= TextBox1.ClientID %>')</STRONG></SPAN>
  }
  </script>
  <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
  <input type="button" runat="server" id="button1" οnclick="GetValue();" value="赋值" />
  </asp:Content>
  页面显示了<SPAN style="COLOR: #0080c0"><STRONG>ctl00_ContentPlaceHolder1_TextBox1</STRONG></SPAN>。即TextBox1.ClientID =ctl00_ContentPlaceHolder1_TextBox1。
  此时把代码改成
  复制代码 代码如下:
  <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" Title="Untitled Page" %>
  <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
  <script type="text/javascript">
  function GetValue()
  {
  <SPAN style="COLOR: #0080c0"><STRONG><SPAN style="TEXT-DECORATION: line-through">var t=document.getElementById("TextBox1");</SPAN></STRONG></SPAN>
  t.innerText=2;
  }
  </script>
  <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
  <input type="button" runat="server" id="button1" οnclick="GetValue();" value="赋值" />
  </asp:Content>
  出错了,t=null,也就是找不到TextBox1,所以需要改成<SPAN style="COLOR: #0080c0"><STRONG>var t=document.getElementById('<%=TextBox1.ClientID%>');</STRONG></SPAN>
  3、综述
  view sourceprint?1 对于服务器控件,在客户端调时使用ClientID属性,在服务端时使用ID属性。

  

本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2011/04/07/2007679.html,如需转载请自行联系原作者

asp.net 服务器控件的 ID,ClientID,UniqueID 的区别相关推荐

  1. asp.net中控件id,clientid,uniqueid的区别

    id是你在代码编写时给其赋的id属性,如果没有进行赋值,系统会自动生成一个名称,如:_ctlX,X是从0开始的递增的索引,范围是0~127 uniqueid是asp.net为每一个控件生成的真正的服务 ...

  2. ID,ClientID,UniqueID的区别

    ID是设计的时候所指定的ID. ClientID是当这个控件生成到客户端页面时候,需要在客户端访问时候用的. UniqueID是当需要参与服务端回传的时候用的. 备注:当控件是子控件的时候(例如在用户 ...

  3. 服务器控件的 ID, ClientID 和 UniqueID 属性

    ASP.NET 的服务器端控件有三种关于 ID 的属性 ID, ClientID 和 UniqueID. ID 表示控件的服务器端编程的标识符,我们写服务器端的代码,就要用到这个 ID, 通过这个 I ...

  4. 学习ID,ClientID,UniqueID

    gvData里有个lbl_UserID ID 为 lbl_User ClientID 为 gvData_ctl02_lbl_UserID UniqueID 为 gvData$ctl02$lbl_Use ...

  5. asp.net 控件的 ID ,ClientID ,UniqueID 区别

    对于每一个服务器控件System.Web.UI.Control 都具有 ID,UniqueID,ClientID 三个属性,那么这个三者到底有河关系,在客户端HTML中又是如何对应呈现的呢? ID:获 ...

  6. 【转】 ID,ClientID和UniqueID

    在ASP.NET 的服务器端控件中有三种关于 ID 的属性,即 ID, ClientID 和 UniqueID. ID 表示控件的服务器端编程的标识符,我们写"服务器端的代码",就 ...

  7. id,clientid 和 uniqueid 的区别

    一. ID是设计的时候所指定的ID. ClientID是当这个控件生成到客户端页面时候,需要在客户端访问时候用的. UniqueID是当需要参与服务端回传的时候用的. 备注:当控件是子控件的时候(例如 ...

  8. 关于 asp.net 服务器控件几个 ID 的说明

    对于每一个服务器控件System.Web.UI.Control 都具有 ID,UniqueID,ClientID 三个属性,那么这个三者到底有河关系,在客户端HTML中又是如何对应呈现的呢? ID:获 ...

  9. ASP.NET服务器控件开发(2)--继承WebControl类

    文章作者:高维鹏(Brian) 文章出处:http://www.cnblogs.com/gaoweipeng 前篇文章简单介绍了如何封装Html来创建我们的ASP.NET服务器控件.这篇说说如何继承A ...

最新文章

  1. 4月17日云栖精选夜读 | 在阿里做了五年技术主管,我有话想说
  2. CUDA ---- device管理
  3. cf-Global Round2-C. Ramesses and Corner Inversion(思维)
  4. 消除左递归c++代码_「leetcode」129. 求根到叶子节点数字之和【递归中隐藏着回溯】详解...
  5. 用树莓派做蜘蛛机器人,还是3D打印的!
  6. 2019年java安装步骤_win10的JAVA(jdk)2020年最新版安装教程心得
  7. canvas 动画库 CreateJs 之 EaselJS(上篇)
  8. 云图说|初识ModelArts开发者生态社区——AI Gallery
  9. matlab nsga-ii,NSGA-II Matlab toolbox | 学步园
  10. HDU4183 Pahom on Water(来回走最大流,一个点只经过一次)
  11. 数学建模(7)---建模开始
  12. 蓝桥杯 ALGO-139 算法训练 s01串
  13. FMEA手册第五版学习笔记(一)
  14. WPS新建文字分享微信.docx形式_DOC和DOCX文件的区别
  15. 有没有测身高的手机软件?这3款App和卷尺一样精准实用
  16. 火狐下载文件名乱码问题
  17. Github常用License总结(MIT/Apache/GPL)
  18. 纵横杯2020 web wp
  19. 基于Matlab的交通限速标志的识别系统 数字图像处理大作业
  20. c++也能做动图?——devc++窗口做简单移动

热门文章

  1. beanshell变量无法传到jmeter_学会BeanShell,才敢说自己懂Jmeter
  2. python functools import wraps_python装饰器中functools.wraps的作用详解
  3. c语言 异或_C语言经典例题来袭!5大方法告诉你答案
  4. 疾病相关数据查找,Our world in data使用指南
  5. Vivado关联Modelsim进行仿真
  6. 详细分析TCP数据的传输过程
  7. JavaScript/VBScript脚本程序调试(Wscript篇)
  8. weiler-atherton多边形裁剪算法_EAST算法超详细源码解析:数据预处理与标签生成...
  9. 【机器学习】使用奇异值分解(SVD)构建推荐系统
  10. 【深度学习】GPU选型调研!3090依旧是性价比之王