推荐分享一个自定义绑定控件(附源码)
在asp.net中,对于一个以数据处理为主的UI层,我们往往需要写很多的代码去实现数据的绑定,当然我们也需要费一点心思从控件上去收集数据.
下面,我分享一个自定义控件来实现双向绑定。
一.基于控件ID,控件属性和数据源成员的映射
<JerryKai:BindExtender ID="BindExtender1" runat="server">
<BindProperties>
<JerryKai:BindProperty ControlId="txtID" BindToProperty="Text" SourceMember="UserID" />
<JerryKai:BindProperty ControlId="txtName" BindToProperty="Text" SourceMember="UserName" />
</BindProperties>
</JerryKai:BindExtender>
BindProperties里对应的就是所有需要绑定要控件,BindProperty有三个属性,ControlId是绑定控件ID,BindToProperty是绑定到控件的属性,
SourceMember是数据源的成员。这样就建立了数据源到控件的映射关系。接下来就是为BindExtender控件设置数据源,并进行数据绑定了。
二.实现数据源到控件的数据绑定
this.BindExtender1.DataSource = new User { UserID = "123", UserName = "jerrykai" }; this.BindExtender1.DataBind();
绑定代码跟我们以前的完全相同,这样就实现了的数据源到控件的数据绑定
三.如果从控件获得数据
当我们绑定数据以后,我们可能会对绑定到控件的数据进行修改,当点击保存的时候,我们需要从控件获取数据,那么如何获取了?在BindExtender控件中,
实现了一个CreateObject方法,该方法使用如下:
User user=new User(); user = this.BindExtender1.CreateObject(user) as User;
两句代码就实现了从控件获取数据,这比以前的方式要精简很多哦!
四.结束语
这篇文章可能描述性的文字少了些,基本都是给出一些使用代码,大家凑合着看吧!想要源码的朋友可以从这里下载