在msdn上有一篇文章介绍了使用reflection来自动进行对象(object)和asp.net服务器控件的自动邦定。
在一些情况下这样做确实可以帮助我们减少枯燥的编码工作。
为了能进行自动邦定,必须满意以下约定。
1、业务对象的属性(attribute)名称必须和想要邦定页面控件的ID相同。
2、业务对象的属性必须实现IConvertible接口,以用于进行类型转化。
可以在上面的连接中下载相关源代码,注意,我在使用过程中发现原代码有一处笔误。
FindAndGetControlProperty函数中的
objProperty.SetValue(control, Convert.ChangeType( controlProperty.GetValue(obj, null), objProperty.PropertyType) , null);
一行应该修改为
objProperty.SetValue(obj, Convert.ChangeType( controlProperty.GetValue(control, null), objProperty.PropertyType) , null);