转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
三层Web体系结构里的两种数据绑定模式         ★★★★

三层Web体系结构里的两种数据绑定模式

作者:闵涛 文章来源:闵涛的学习笔记 点击数:602 更新时间:2009/4/23 10:51:38

  作者: 李万宝

  引言

  本文我将介绍在三层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窗体有关的一些顾客属性
//提交和取消按钮
  编辑用户信息的后台代码类似如下:

public partial class EditCustomer
{
 protected void Page_Load(object sender, EventArgs e)
 {
  if (!IsPostBack){
   //Check if adding new customer or updating
   if (_isUpdateMode)
    LoadData();
  }
 }

 protected void btnSubmit_Click(object sender, EventArgs e)
 {
  if (!Page.IsValid)
   return;
  SaveData();

  //Go Back
 }

 private void LoadData()
 {
  Customer customer=new Customer();
  customerID=_customerID;
  customer.Load();

  //Binding #2
  //Copy customer properties into control values
 }

 private void SaveData()
 {
  Customer customer=new Customer();

  If (_isUpdateMode)
  {
   customer.ID=_customerID;
   customer.Load();
  }

  //Binding #3
  //Copy control values into customer properties
  customer.Save();
 }
}


[Web开发]DedeCms织梦内容管理调用Discuz论坛主题等数据的方…  [办公软件]在PowerPoint中插入图示(组织结构图、目标图、循环…
[办公软件]Excel 2007默认的数据排序规则列表  [办公软件]在同一Excel工作表图表中显示多个图表(数据与图表…
[办公软件]怎样使Excel图表不随源数据改变而改变(数据与图标…  [办公软件]设置Excel表格数据隔行、列显示颜色,增强数据的阅…
[办公软件]在Excel2007中用填充序列填数据的两种技巧  [办公软件]在Excel中实现数据行列转置(行变列、列变行)
[办公软件]在Excel中使用数据排序实现学生总成绩(按学号)的排…  [办公软件]通配符?(*)在Excel数据筛选时的应用
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台