二、一句代码实现批量数据绑定
现在我们就来演示如何通过我们定义的DataBinder实现“一句代码的数据批量绑定”,而作为数据源就是我们上面定义的Customer对象。我们先来设计我们的页面,下面是主体部分的HTML,这是一个表格。需要注意的是:所有需要绑定到Customer对象的空间都和对应的属性具有相同的ID。
- <table>
- <tr>
- <td style="width:20%;text-align:right">ID:</td>
- <td><asp:Label ID="ID" runat="server"></asp:Label></td>
- </tr>
- <tr>
- <td style="width:20%;text-align:right">First Name:</td>
- <td><asp:TextBox ID="FirstName" runat="server"></asp:TextBox></td>
- </tr>
- <tr>
- <td style="width:20%;text-align:right">Last Name:</td>
- <td><asp:TextBox ID="LastName" runat="server"></asp:TextBox></td>
- </tr>
- <tr>
- <td style="width:20%;text-align:right">Gender:</td>
- <td>
- <asp:RadioButtonList ID="Gender" runat="server" RepeatDirection="Horizontal">
- <asp:ListItem Text="Male" Value = "Male" />
- <asp:ListItem Text="Female" Value = "Female" />
- </asp:RadioButtonList>
- </td>
- </tr>
- <tr>
- <td style="width:20%;text-align:right">Age:</td>
- <td><asp:TextBox ID="Age" runat="server"></asp:TextBox></td>
- </tr>
- <tr>
- <td style="width:20%;text-align:right">Birthday:</td>
- <td><asp:TextBox ID="Birthday" runat="server" Width="313px"></asp:TextBox></td>
- </tr>
- <tr>
- <td style="width:20%;text-align:right">Is VIP:</td>
- <td><asp:CheckBox ID="IsVip" runat="server"></asp:CheckBox></td>
- </tr>
- <tr>
- <td colspan="2" align="center">
- <asp:Button ID="ButtonBind" runat="server" Text="Bind" onclick="ButtonBind_Click" />
- </td>
- </tr>
- /table>
为了编成方便,将DataBinder对象作为Page类型的一个属性,该属性在构造函数中初始化。
- public partial class Default : System.Web.UI.Page
- {
- public Artech.DataBinding.DataBinder DataBinder { get; private set; }
- public Default()
- {
- this.DataBinder = new Artech.DataBinding.DataBinder();
- }
- }
然后我将数据绑定操作实现的Bind按照的Click事件中,对应所有的代码如下所示——真正的用于数据绑定的代码只有一句。
- protected void ButtonBind_Click(object sender, EventArgs e)
- {
- var customer = new Customer
- {
- ID = Guid.NewGuid().ToString(),
- FirstName = "Zhang",
- LastName = "San",
- Age = 30,
- Gender = "Male",
- BirthDay = new DateTime(1981, 1, 1),
- IsVip = true
- };
- this.DataBinder.BindData(customer, this);
在浏览器中打开该Web页面,点击Bind按钮,你会发现绑定的数据已经正确显示在了对应的控件中:
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。