asp.net 服务器控件的 ID,ClientID,UniqueID 的区别

简介:
 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" onclick="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" onclick="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" onclick="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,如需转载请自行联系原作者

目录
相关文章
|
16天前
|
弹性计算 大数据 数据处理
阿里云服务器实例哪些属于入门级,哪些是企业级?有何区别?
阿里云服务器的实例规格从级别上来说分为入门级和企业级,从实例规格种类上来说,又分为突发性能型、共享型、计算型、通用型、内存型、大数据型等,2024年截止目前在阿里云的活动中,可选的云服务器实例规格有轻量应用服务器、经济型e、通用算力型u1、计算型c7、计算型c7a、计算型c8a、计算型c8y、通用型g7、通用型g7a、通用型g8a、通用型g8i、通用型g8y、内存型r7、内存型r8y等,有的新手用户不是很清楚2024年阿里云活动中的云服务器实例哪些属于入门级,哪些是企业级?有何区别?下面根据官方的各种资料介绍为大家解答下这些疑问,帮助您能更清楚地了解阿里云服务器,快速找到自己对云服务器产品的需
阿里云服务器实例哪些属于入门级,哪些是企业级?有何区别?
|
2月前
|
存储 分布式计算 网络协议
阿里云服务器内存型r7、r8a、r8y实例区别参考
在阿里云目前的活动中,属于内存型实例规格的云服务器有内存型r7、内存型r8a、内存型r8y这几个实例规格,相比于活动内的经济型e、通用算力型u1实例来说,这些实例规格等性能更强,与计算型和通用型相比,它的内存更大,因此这些内存型实例规格主要适用于数据库、中间件和数据分析与挖掘,Hadoop、Spark集群等场景,本文为大家介绍内存型r7、r8a、r8y实例区别及最新活动价格,以供参考。
阿里云服务器内存型r7、r8a、r8y实例区别参考
|
2月前
|
Linux Shell 文件存储
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入df和dh的区别和探索)
【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入df和dh的区别和探索)
47 1
|
1天前
|
存储 编解码 网络协议
阿里云服务器计算型c7、计算型c7a、计算型c8a、计算型c8y实例区别及选择参考
在阿里云的活动中,属于计算型实例规格的云服务器一般会有计算型c7、计算型c7a、计算型c8a、计算型c8y这几个实例规格,与经济型e实例相比,这些实例均属于企业级实例,与通用算力u1实例相比的话这些实例规格等性能更强,这些计算型实例主要适用于网站应用、批量计算、视频编码等各种类型和规模的企业级应用,本文为大家介绍计算型c7、c7a、c8a、c8y实例区别,以供参考。
阿里云服务器计算型c7、计算型c7a、计算型c8a、计算型c8y实例区别及选择参考
|
2天前
|
Windows
LabVIEW中ActiveX控件、ActiveX服务器和类型库注册
LabVIEW中ActiveX控件、ActiveX服务器和类型库注册
|
4天前
|
JavaScript 前端开发 搜索推荐
Vue 的服务器端渲染(SSR)和客户端渲染(CSR)在渲染过程、性能、用户体验等方面都存在显著的区别
【5月更文挑战第8天】Vue 的 SSR 和 CSR 在渲染上有明显差异。SSR 服务器端生成 HTML 返回给浏览器,提供更快首屏加载和更好的 SEO,但增加服务器负担。CSR 客户端渲染,首次加载可能较慢,但交互更流畅,开发更简单。两者各有优劣,需根据项目需求权衡选择。
11 2
|
5天前
|
数据库 数据中心 虚拟化
云服务器和虚拟主机有什么区别
总的来说,云服务器提供更高级别的灵活性、控制和资源隔离,适用于需要定制化和更大资源的应用程序。虚拟主机是一种经济实惠的共享托管解决方案,适用于小型项目和个人网站。选择哪种服务取决于你的需求、预算和技术要求。
23 3
|
6天前
|
存储 弹性计算 固态存储
阿里云服务器系统盘与数据盘ESSD AutoPL、ESSD云盘、SSD云盘区别及选择参考
阿里云系统盘与数据盘如何选择?目前阿里云服务器有ESSD AutoPL、高效云盘、ESSD云盘、SSD云盘可供选择,很多新手用户并不清楚他们之间的区别,也就不知道应该如何选择,因为不同的云盘在最大IOPS、最大吞吐量等性能上是有区别的,下面我们一起来他们之间的区别,这样就有助于我们选择适合自己需求的系统盘与数据盘了。
阿里云服务器系统盘与数据盘ESSD AutoPL、ESSD云盘、SSD云盘区别及选择参考
|
6天前
|
数据库 数据中心 虚拟化
云服务器和虚拟主机有什么区别
总的来说,云服务器提供更高级别的灵活性、控制和资源隔离,适用于需要定制化和更大资源的应用程序。虚拟主机是一种经济实惠的共享托管解决方案,适用于小型项目和个人网站。选择哪种服务取决于你的需求、预算和技术要求。
16 2
|
16天前
|
存储 编解码 安全
阿里云服务器计算型c7与c8y、通用型g7与g8y、内存型r7与r8y区别及选择参考
在阿里云目前的活动中,除了轻量应用服务器和经济型e、通用算力型u1实例的云服务器之外,性能更高的云服务器实例规格有计算型c7与c8y、通用型g7与g8y、内存型r7与r8y,这些实例规格更适合企业级用户的上云需求,有的用户并不是很清楚他们之间的区别,从而不知道应该如何选择,本文就为大家介绍一下他们之间的区别,以供选择参考。
阿里云服务器计算型c7与c8y、通用型g7与g8y、内存型r7与r8y区别及选择参考