网站建设编码中如何创建子控件

在组合控件的生命周期的不同阶段中都可以调用CreateChildControls方法,但只能调用一次,除非我们使用ChildControlsCreated特性显示地重置控件状态,因此它是在控件生命周期发生的不确定事件。而不像Init及Render事件,在页面的生命周期中发生的固定的时间段,而且是确定性的。

如果CreateChildControls方法在执行的过程中未被调用,那么在页面预显示阶段则一定要被调用。如果调用了控件的公有FindControl方法,或者Control自己调用了受保护的EnsureChildControls方法,该方法将在这之前被调用。当回送数据被返回某个控件时,FindControls方法将被调用,所以如果有与某个给定控件相关联的回送数据,在页面的回送阶段CreateChildControls也将被调用。

创建服务器控件的原因

作为一个ASP.NET开发人员,我们真正要做的决定是:是让ASP.NET自动为我们建立服务器控件,(仅仅通过使用ASP.NET页面以及(或者)用户控件建立我们的站点),还是由我们自己创建控件。在后一种情况下,我们可以综合使用ASP.NET页面、用户控件以及自定义服务器控件建立我们的站点。所以,为什么要建立服务器控件是没有绝对的答案的。但是我认为主要有一下几点原因供大家参考:

1、ASP.NET控件支持细粒度级别的黑盒复用。ASP.NET用户控件以及页面同样能够提供这项复用功能,但由于它们的粒度要粗糙得多,并且有固定的UI特征(尽管用户控件支持模版,页面却不支持),所以,它们可能提供的复用功能要少得多。

«1»