用户控件

博客介绍了个性化控件的两种选择:用户控件和自定义控件。编写自定义控件即编写新的Server控件,普通Web Form程序稍加修改可成用户控件。还阐述了用户控件的引用、属性和事件处理的注意事项,以及在程序代码中创建用户控件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要更加有个性化的控件,那么你将有两种选择,用户控件 User Control 自定义控件 Custom Control
编写自定控件实质上是在编写一个新的Server控件。难点

实际上普通的Web Form程序稍加修改便可以成为用户控件,当一个Web Form程序被当作Server控件使用时,这个WebForm程序便被称为
“用户控件”用户控件的扩展名为"ascx"用户控件在其他程序中需要使用Register指令将其引用后,才能使用。
<%@ Register TagPrefix="错误!超级链接引用无效。" TagName="错误!超级链接引用无效。" Src="Pathname" %>
TagPrefix确定了用户控件唯一的命名控件(Namespace),多个用户控件将使用同一个TagPrefix TagName 则是这个用户控件的名字,
这个名字可以任取,它用于同一个页面中多个用户控件的互相区别,用户控件的引用形式为:
<TagPrefix:TagName runat="server" />
在用户控件中定义属性时需要注意,属性值的修饰符必须是Public 因为用户控件的解释执行是以类(Class)为原型的,所以只有定义
public 外部才有访问用户控件中的属性。

定义用户控件的时间处理时,必须注意不能使用public修饰符,因为事件只能是在用户控件内部发生,如果使用public修饰则表示可以
外部访问,这显然是不合规则的,所以只能使用private来进行修饰(因为函数默认的修饰符是private,所以程序中可以省略不写)
另外一个常犯的错误是在用户控件中使用HtmlForm控件。这也是不允许的,因为在引用控件的页面中经常会出现HtmlForm控件。如果用
户控件中也包含有HtmlForm控件,那就会出现HtmlForm控件的嵌套使用,这在逻辑上是不能被合理结实的,出错就再所难免了

在程序代码中创建用户控件
在Web Form中,用户控件不仅能通过:<TagPrefix:TagName runat="server" />来创建,而且还能像其他的Server控件一样通过程序代码
来创建
Control cl = LoadControl("pagelet7.ascx");
((Pagelet7CS)c1).Category = "business";
Page.Controls.Add(c1);

Dim cl As UserControl = LoadControl("pagelet7.ascx")
CType(c1,(pagelet7_ascx)).Category = "business"
Page.Controls.Add(c1)

var cl:UserControl = LoadControl("pagelet7.ascx");
(pagelet7_ascx(c1)).Category = "business";
Page.Controls.Add(c1);


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值