欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 编程语言 > asp.net >内容正文

asp.net

asp.net 服务器控件的 id,clientid,uniqueid 的区别 -凯发k8官方网

发布时间:2025/1/21 asp.net 42 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 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" %>
  http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
  " >

  untitled page



  

  

  

  



  有人会问了: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" %>
  

  
  

  页面显示了ctl00_contentplaceholder1_textbox1。即textbox1.clientid =ctl00_contentplaceholder1_textbox1。
  此时把代码改成
  复制代码 代码如下:
  <%@ page language="c#" masterpagefile="~/masterpage.master" autoeventwireup="true" codefile="default3.aspx.cs" inherits="default3" title="untitled page" %>
  

  
  

  出错了,t=null,也就是找不到textbox1,所以需要改成var t=document.getelementbyid('<%=textbox1.clientid%>');
  3、综述
  view sourceprint?1 对于服务器控件,在客户端调时使用clientid属性,在服务端时使用id属性。


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

总结

以上是凯发k8官方网为你收集整理的asp.net 服务器控件的 id,clientid,uniqueid 的区别的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

网站地图