以编程方式创建用户控件的实例
2005-01-28 14:24
281 查看
今天从MSDN看到的,比较有意思;
以下代码使用 className 属性将 MyUserControl.ascx 文件中保存的用户控件转换为强类型。
<%@ Control className="MyUserControl" %>
注意:该指令只能用于用户控件中。用户控件在带有 .ascx 扩展名的文件中进行定义。每个 .ascx 文件只能包含一条 @ Control 指令
使用@ Reference 指令在要包含用户控件的 Web 窗体页的顶部注册该用户控件。当以编程方式创建用户控件时,只有您创建了对该控件的引用后,才可对 Web 窗体页使用该用户控件的强类型。例如,以下代码创建对 MyUserControl.ascx 文件中所创建用户控件的引用。
<%@ Reference Control="MyUserControl.ascx" %>
注意 当以声明方式在 Web 窗体页中创建用户控件的实例时,请使用 @ Register 指令。
在代码隐藏类文件中,或是在包含 .aspx 文件的代码声明块中,创建用户控件的实例。根据需要分配属性值,并使用 Add 方法将该控件添加到包含页的 ControlCollection 对象上。这使该控件可用于该页的继承的 Control.Controls 属性。在以下示例中,创建 MyUserControl.ascx 的实例并将其 BackColor 属性设置为 beige。
[Visual Basic]
Dim c1 As UserControl = LoadControl("MyUserControl.ascx")
CType(c1, MyUserControl).BackColor = "beige"
Page.Controls.Add(c1)
[C#]
Control c1 = LoadControl("MyUserControl.ascx");
((MyUserControl)c1).BackColor = "beige";
Page.Controls.Add(c1);
注意 当您使用 Add 方法将控件添加到 ControlCollection 对象时,这些控件将按被处理的顺序放置在集合中。如果您希望将控件添加到集合中的特定位置,请使用 AddAt 方法并指定您要存储该控件的索引位置。
以编程方式创建用户控件的实例
就像您可以通过编程方式在 Web 窗体页上创建任意 ASP.NET 服务器控件的实例,您也可以通过使用包含页的 LoadControl 方法来做到这一点。但您首先必须使用 @ Control 指令的 className 属性将强类型与用户控件相关联。之所以需要这样是因为 LoadControl 方法返回 Control 类的类型,并且您需要将该用户控件转换为合适的强类型,以便设置该控件的各个属性。以下代码使用 className 属性将 MyUserControl.ascx 文件中保存的用户控件转换为强类型。
<%@ Control className="MyUserControl" %>
注意:该指令只能用于用户控件中。用户控件在带有 .ascx 扩展名的文件中进行定义。每个 .ascx 文件只能包含一条 @ Control 指令
使用@ Reference 指令在要包含用户控件的 Web 窗体页的顶部注册该用户控件。当以编程方式创建用户控件时,只有您创建了对该控件的引用后,才可对 Web 窗体页使用该用户控件的强类型。例如,以下代码创建对 MyUserControl.ascx 文件中所创建用户控件的引用。
<%@ Reference Control="MyUserControl.ascx" %>
注意 当以声明方式在 Web 窗体页中创建用户控件的实例时,请使用 @ Register 指令。
在代码隐藏类文件中,或是在包含 .aspx 文件的代码声明块中,创建用户控件的实例。根据需要分配属性值,并使用 Add 方法将该控件添加到包含页的 ControlCollection 对象上。这使该控件可用于该页的继承的 Control.Controls 属性。在以下示例中,创建 MyUserControl.ascx 的实例并将其 BackColor 属性设置为 beige。
[Visual Basic]
Dim c1 As UserControl = LoadControl("MyUserControl.ascx")
CType(c1, MyUserControl).BackColor = "beige"
Page.Controls.Add(c1)
[C#]
Control c1 = LoadControl("MyUserControl.ascx");
((MyUserControl)c1).BackColor = "beige";
Page.Controls.Add(c1);
注意 当您使用 Add 方法将控件添加到 ControlCollection 对象时,这些控件将按被处理的顺序放置在集合中。如果您希望将控件添加到集合中的特定位置,请使用 AddAt 方法并指定您要存储该控件的索引位置。
相关文章推荐
- 并发编程学习总结(一) :java 创建线程的三种方式的优缺点和实例(转载自:http://blog.csdn.net/u011784767/article/details/51315007)
- 以编程方式创建用户控件
- 一步一个脚印学习WCF系列之WCF概要—WCF服务的创建与调用HelloWorld实例,通过编码方式(四)
- Bean实例的创建方式及依赖配置
- android 网络编程之网络通信几种方式实例分享
- 创建线程的两种方式(实现接口的方式请看实例分析5)
- 并发编程学习总结(一) :java 创建线程的三种方式的优缺点和实例
- [编程实例]vbs脚本删除桌面上的快捷方式腾讯QQ
- JavaScript对象编程- 创建类/对象的几种方式
- VB 在Visio 2010 以编程方式创建子进程图
- GMF关于采用拖动方式创建连线的实例
- DOM方式解析、创建XML文件(实例)
- 多线程创建的两种方式和线程同步问题实例
- 在sharepoint里面以编程方式创建字段
- web应用启动时servlet实例创建方式
- c#经典编程实例(六定时器Timer和工具条和父窗体和子窗体的创建)
- C# WinForm创建包含备注的快捷方式实例
- C#如何编程在桌面创建快捷方式
- 以编程方式创建用户控件(4)