动态创建asp.net控件之我见

本文探讨了在ASP.NET WebForms中动态生成控件的方法,特别是如何处理无状态环境下控件的状态保存问题,并给出了控件创建的最佳实践。

最近考虑将之前用delphi设计的开发框架思路在asp.net上实现,其中有一项功能时动态生成录入界面,这在form开发程序中比较简单只要设置好动态生成的控件的所有者(owner),及位置还有相关事件关联就可以了,但在webform中就不是那么容易了,因为web程序是无状态的,所以动态创建控件的时间(在哪个事件)及初始化就有很多学问了。

第一,首先要明白的是webform是无状态的,每一次的回传,系统就会自动生成一个新的控件,虽然控件id跟原先的一样,但确实不是原先的了。

第二,在asp.net中控件的状态(属性)是通过viewstat来保存的,所以不要在页面中禁用viewstat。

据msdn所述,控件的创建最好是在page_init事件中,而设置控件的属性则最好在page_load中,不过全放在page_load中好像也没什么不可以。关键是不要自以为然的将创建控件的代码放到if(!IsPostBack)中,如不明白,看第一条。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值