ASP.NET
十、以编程方式访问 ASP.NET 控件
1、Web 窗体控件标识
ASP.NET网页上的每一个控件都必须是可唯一标识的。通常,为控件的 ID 属性分配一个值来唯一标识该控件。该值将成为控件的实例名称(即,在代码中引用控件所依据的名称)。例如,如果将 TextBox 控件的 ID 属性设置为 Text1,则可以在代码中使用 Text1 来引用该控件。
许多数据绑定控件(包括 DataList、Repeater、GridView、FormView 和 DetailsView 控件)可作为其他(子)控件的容器。当这些控件运行时,它们会生成子控件的多个实例。例如,如果创建一个包含 Label 控件的 DataList 模板,则当页运行时,DataList 控件的数据源中包含多少个记录,就会在页中生成多少个该 Label 控件的实例。
说明: 使用模板的控件(例如 DataList 和 Repeater 控件)承载模板对象。例如,当 DataList 控件运行时,它会创建 DataListItem 类的多个实例。而这些模板对象又包含单个控件,例如,标签、文本框、按钮,等等。
由于控件可在同一页上多次实例化,而且您可以在不同的页上重复使用控件名称,所以,ASP.NET 页框架提供了确保页上和应用程序中控件具有唯一标识符的机制。它还为您提供了找到这些单个控件的方法,以便您可以在自己的代码中操作它们。
A、命名容器
可作为其他控件的容器的控件会为其子控件生成“命名容器”或 ID 命名空间。通过提供此命名容器,控件可以保证其子控件的 ID 属性在整个应用程序内是唯一的。(控件通过实现 INamingContainer 接口来生成命名容器。)如果在运行时创建了子控件,命名容器将与子控件的 ID 属性进行组合,以创建每个子控件的 UniqueID 属性值。因此,UniqueID 属性会成为控件的完全限定标识符,引用其命名容器以及控件的各个 ID 值。
在上面的示例中,在父级 DataList 控件的命名容器(即命名空间)内创建 Label 控件的多个实例。每个 Label 控件的 UniqueID 属性将反映此命名空间,其格式类似于 DataList1:_ctl:MyLabel、DataList1:_ct2:MyLabel,依此类推。
说明: 请不要编写使用生成的 UniqueID 属性的值引用控件的代码。可以将 UniqueID 属性视为一个句柄(例如,通过将它传递到进程),但不应指望它拥有特定结构。
每个容器控件都会为其子控件提供命名容器,此外,页本身也
相关文档:
using System;
using System.Collections.Specialized;
using System.Data;
using System.Configuration;
using System.Collections;
using System.IO;
using System.Threading;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebC ......
Atlas是什么?
atlas 2006-12-12 09:48 阅读69 评论0
字号: 大大 中中 小小
Atlas是什么?
ASP.NET”Atlas”是一个新的Web技术开发包,它集成了一套非常大的客户端脚本库使得与功能丰富的、基于服务器开发平台的ASP.NET2.0结合在一起,&rdq ......
二、向 ASP.NET 网页添加 HTML 服务器控件
HTML 服务器控件是您可以对其进行配置以便可以使用服务器代码对其进行编程的 HTML 元素。
1、如何:使用 ASP.NET 语法向网页添加 HTML 服务器控件
添加 HTML 服务器控件和添加任意 HTML 元素类似,不同之处在于 ......
六、ASP.NET Web 服务器控件中的 Tab 键顺序、焦点和访问键
若要增强在 ASP.NET 网页中使用控件的用户体验,可以指定用户通过按 Tab 键显示 ASP.NET Web 服务器控件的顺序,并可以指定最初打开页时页上的哪个控件具有焦点。
1、Tab 键顺序
当在浏览器中显示页时,用户可以使用 ......
九、以编程方式添加 ASP.NET 控件
有时,在运行时创建控件比在设计时创建控件更可行。例如,假定有一个搜索结果页,您要在其中将以表的形式显示结果。由于不知道要返回多少项,因此您需要每个返回的项动态生成一个表行。
说明: 现有控件通常可以提供从动 ......