引言
本文我将介绍在三层Web体系开发中的两种数据绑定模式,然后在不超过你已经会用的控件知识的情况下,来介绍能够极大减少这种数据绑定模式的替代品--XLib库文件。具体的说,本文开始我们介绍在三层体系结构里常规的数据绑定方法,然后介绍XLib是如何提高这种绑定效率的。
1、 数据绑定流程
在三层Web体系结构里,通常有四步来完成数据绑定任务:
1)从数据库里加载数据到业务逻辑对象
2)在Web窗体上放置Web控件并使用业务逻辑对象进行填充数据。
3)将Web控件的值拷贝到业务逻辑对象的属性里
4)保存业务逻辑对象的属性值到数据库。
以具体的Customer为例,在三层应用程序里最简单的数据绑定模式的步骤如下:
1)从数据库Customer表里加载合适的顾客记录
2)将顾客记录绑定到Customer业务对象上
3)将Customer业务对象绑定到Web控件上
4)用户在窗体里输入数据并单击Submit进行提交数据
5)将Web控件的更新事件绑定到Customer对象上
6)把Customer上的信息保存到表里
7)将表里的信息保存到Customer上
有多种方式执行这个流程,我概括起来有三种:
1、显示生成数据绑定方式--使用大家都熟悉的前台方式
2、Microsoft的方式--使用类型化的DataSet和FormView
3、XLib方式--使用反射技术和其他的.NET特性来分析绑定--在运行时获取对象
1.2 代码--业务逻辑对象和Web 页面
为了具体说明这三种方式的使用方法,我将使用Customer类和EditCustomer页面作为演示。下面是一些代码,它将说明具体在什么地方进行数据绑定。
通常,Customer类看起来类似如下:
public class Customer
{
//list all properties
//CRUD methods
public void Load()
{
//Binding #1
//Copy database record values into properties
}
public void Save()
{
//Binding #4
//Copy properties values into database record
}
public void Delete() ;
//Other methods specific to customer
public string GetCustomerFullName()..
}
编辑顾客页面的代码类似如下:
//页面的一些指令
//与Form窗体有关的一些顾客属性
//提交和取消按钮