您的位置:首页 > 编程语言 > ASP

ASP.NET控件编写心得总结- 以后会写详细一点

2005-02-19 00:38 337 查看
编写ASP.NET控件一定要注意控件生命周期,特别是CreateChildControls()这个方法的执行期不确定,一不小心就会出错!总结来说,要注意以下几点:

子控件的生成时间是不确定的,换句话说,只有当需要创建子控件时,才会调用子控件的CreateChildControls()方法。

比如事件触发时需要知道子控件的Id,以便事件下派,这时就需要创建子控件。

如果重载DataBind()方法,应在该方法中重新生成整个子控件树,这里特别注意应全部重新生成,如果控件在提交情况下显示异常,应检查在DataBind()中是否全部重新生成了子控件树。

这是因为子控件的生成时间不确定,所有可能有部分生成,部分没有生成的情况,全部重新生成可以避免这种混乱。(混乱的一般表现是数据没有绑定上)

重载Render()方法中一般进行与数据无关也与操作无关的控件渲染工作,如加入样式表单,设置显示格式等等。

一点小技巧,视图状态一般用于需要绑定数据的控件,而这种控件是必须重载DataBind()方法,而DataBind()方法中重新生成整个控件树并加载数据。因此这种控件的CreateChildControls()方法中可以尽量少生成子控件,只创建事件触发需要的控件即可。(但应注意一点,为了保证控件ClientId的一致性,所有具有ClientId的控件都必须创建!)

草草写了这些,这段时间很忙,等有时间时再详述。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐