`

ASP.NET的控件的三种属性 ID, ClientID 和 UniqueID

阅读更多

ID 表示控件的服务器端编程的标识符,我们写服务器端的代码,就要用到这个 ID, 通过这个 ID 可以在服务器端对服务器端控件的属性、方法和时间进行编程访问。


ClientID 表示由服务器端生成的客户端控件的ID,   经常用于在客户端脚本中访问服务器控件所呈现的 HTML 元素。一般情况下与服务器端的 ID 相同,有时,不能为控件生成唯一的名称,例如,如果 Repeater 空间在它的某个模板中包含一个 Label 控件,则将在客户端生成多个该 Lable 的 HTML 元素, 为防止命名冲突,ASP.NET 为各个服务器控件生成一个唯一的 ClientID ,ClientID 通过将子控件的父控件的 UniqueID 值与控件的 ID 值连接生成,各个部分之间以下划线 _ 连接。

 

UniqueID 用于获取服务器控件的唯一的、以分层方式表示的标识符。当将控件放置到重复控件(Repeater、DataList和DataGrid)中时,将可能生成多个服务器端的控件,这就需要区分服务器端的各个控件,以使它们的 ID 属性不冲突。

UniqueID 通过将子控件的父控件的 UniqueID 值与控件的 ID 值连接生成,各个部分之间以 IdSeparator 属性指定的字符连接。默认情况下, IdSeparator 属性为冒号字符 (:)。此属性为在 .Net Framework2.0种新增加。

DataGrid,DataList,DataRepeater等控件的子控件,显然,DataGrid,DataList,DataRepeater是一个容器。那么他们内部的控件的ID也应该不一样,如下:
DataList1:_ctl0
DataList1:_ctl1
DataList1:_ctl2

 

 

js与aps.net交互一般情况下使用document.getElementById(<%=控件ID.ClientID%>)就OK了,但如果用到母版页(MasterPage)则要使用UniqueID获得获值

 

备注:当控件是子控件的时候(例如在用户控件中的Button),ClientID在HTML页面中是作为控件的ID属性,UniqueID是作为控件的Name属性,如果不是子控件,那么ClientID和UniqueID是相同的

分享到:
评论

相关推荐

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

    在 ASP.NET 中,服务器控件的 `ID`, `ClientID` 和 `UniqueID` 是三个重要的属性,它们各自有着不同的用途和特点。 1. **ID** - ID 是我们在设计时为服务器控件指定的唯一标识符。它主要用于在服务器端代码中引用...

    ASP.NET服务器端控件介绍

    - `UniqueID`和`ClientID`: 分别是服务器端和客户端的唯一标识。 - `Visible`: 控制控件在页面上是否可见。 5. **服务器控件的公共事件**: - `Init`: 页面初始化时触发。 - `Load`: 控件加载时触发,用于加载...

    【ASP.NET编程知识】ASP.NET服务器控件开发(1)封装html.docx

    * UniqueID:获取服务器控件的唯一的、以分层形式限定的标识符。 * Visible:获取或设置一个值,该值指示服务器控件是否作为 UI 呈现在页上。 Control 类的公共方法包括: * DataBind:将数据源绑定到被调用的...

    asp.net 编写自定义控件

    在ASP.NET中,自定义控件是开发人员为了满足特定需求而创建的用户界面元素,它们可以扩展标准ASP.NET服务器控件的功能或者提供全新的功能。本教程将带你一步步了解如何编写自定义控件,适用于ASP.NET初学者。 一、...

    asp.net控制键盘keycode事件

    在ASP.NET中,这可以通过结合使用JavaScript和服务器端控件实现。当`keydown`事件检测到期望的`keycode`时,可以调用按钮的`click`事件,从而触发服务器端的处理: ```javascript document.getElementById('...

    获取asp.net服务器控件的客户端ID和Name的实现方法

    下面,我们将详细介绍两种获取ASP.NET服务器控件客户端ID和Name的方法: **1. 获取客户端ID (ClientID)** 获取服务器控件在客户端的ID通常使用`ClientID`属性。如示例所示: ```csharp string btnClientID = ...

    ASP.NET 3.5 Web 服务器控件详解【txt手机版】

    ### ASP.NET 3.5 Web ...以上是 ASP.NET 3.5 中 `AdRotator` 和 `Button` 控件的相关知识点介绍,希望对读者有所帮助。这两个控件都是非常实用且功能丰富的服务器端控件,能够帮助开发者快速构建功能强大的 Web 应用。

    基于ASP.NET的弹出页面窗体调用服务器端 Server-side Code程序代码

    在ASP.NET开发中,弹出页面窗体的调用通常涉及到客户端与服务器端的交互,尤其是在需要执行服务器端代码时。...通过结合JavaScript、ASP.NET控件和服务器端事件,开发者能够创建动态、交互性强的Web应用。

    asp.net程序设计(C#)版课后题答案第134页9题

    在ASP.NET程序设计中,日历控件(Calendar Control)是一种常用的用户界面元素,用于展示日期并允许用户选择特定日期。题目所提及的是一个课后练习,要求在日历控件上不仅显示所选的年月信息,还要能够将选定的日期...

    ASP.NET 4.0客户端ID功能

    5. **编程接口**:ASP.NET 4.0提供了一些新的API,如`Control.ClientID`和`Control.UniqueID`,帮助开发者在代码后面获取控件的客户端ID和唯一ID。 6. **JavaScript访问**:改进的客户端ID机制使得在JavaScript中...

    .net自定义ServerControl实例

    在.NET框架中,ServerControl是ASP.NET提供的一种高级控件机制,允许开发者创建自定义的、功能丰富的Web服务器控件。这些控件可以扩展HTML元素的功能,并且可以在设计时和运行时提供丰富的交互性。本实例将深入探讨...

    c# webform js文件获取客户端控件,后台cs获取前台客户端控件的值,c#和js的交互

    假设有一个ASP.NET WebForm项目,包含一个TextBox控件(txtName)和一个Button控件(btnSubmit)。在按钮的Click事件中,我们希望获取TextBox的值并显示在Label控件(lblResult)上。JS部分: ```javascript ...

    asp.net FindControl方法误区和解析

    在ASP.NET中Control都有一个FindControl方法,其作用是根据ID(注意既不是UniqueID也不是ClientID)在Control所在的命名容器中寻找相应控件,但实际使用中存在很多误区和陷阱,下面谈谈个人对此的理解

    LiteralControl ASP.NET中的另类控件

    1. 可以拥有ID、ClientID和UniqueID属性,但这些属性通常不常用。当需要在服务器端使用FindControl方法定位控件时,可能需要设置一个ID。 2. LiteralControl不支持视图状态(ViewState)。尽管它有一个...

    JQuery扩展插件Validate 2通过参数设置验证规则

    在ASP.NET环境中,由于服务器端控件ID在渲染到客户端时可能会改变,所以通常需要使用`ClientId`或`UniqueId`属性来获取客户端上的实际ID。在JS中,可以使用`控件Id.ClientId %&gt; 或 控件Id.UniqueId %&gt;`来动态插入...

    在JavaScript中访问C#变量

    __doPostBack("&lt;%= myControl.UniqueID %&gt;", eventArgument); ``` - **Control State**:仅适用于控件状态,比ViewState轻量,但不适用于整个页面。 3. **QueryString和URL重写** 可以通过URL参数传递变量,...

    在GridView行上实现悬停延迟

    在ASP.NET WebForms中,GridView控件是一种常用的数据展示组件,它可以方便地绑定到数据库源并展示数据。在用户交互方面,我们有时需要为GridView的行添加特定的交互效果,如悬停延迟。"在GridView行上实现悬停延迟...

Global site tag (gtag.js) - Google Analytics