用反射将业务对象绑定到 ASP.NET 窗体控件

http://tech.ddvip.com   2007年05月22日    社区交流

本文详细介绍用反射将业务对象绑定到 ASP.NET 窗体控件

  本文示例源代码或素材下载

  摘要:使用反射以单行代码将业务对象绑定到 ASP.NET Web 窗体,从而降低复杂性并减少错误。(本文包含一些指向英文站点的链接。请注意,在示例文件中,程序员的注释使用的是英文,本文中将其译为中文是为了便于读者理解。)

引言

  在 Web 开发人员的最常见任务之中,有一项任务是他们要反复执行的:建立更新数据库表的简单窗体。我们将创建一个列表页面和一个窗体页面,列表页面中以表格形式显示记录,窗体页面中带有用于各个数据库字段的适当的窗体控件。许多开发人员还使用表示数据库表的业务对象将代码组织到分为多层的设计中。如果以业务对象 (Document) 来表示数据库表 (Documents),许多窗体的代码看上去将如下所示:

<script runat="server">
protected void Page_Load(Object Src, EventArgs E) {
if (!IsPostBack) {
  Document document =
Documents.GetDocument(Request.QueryString["DocumentID"]);
  Title.Text = document.Title;
  Active.Checked = document.Active;
  CreatedDate.Text = document.CreatedDate.ToString();
  AuthorID.FindByValue(document.AuthorID.ToString()).Selected =
true;
  // ... 等等
  HtmlBody.Text = document.HtmlBody;
}
}
protected void SaveButton_Click(Object Src, EventArgs E) {
  Document document =
Documents.GetDocument(Request.QueryString["DocumentID"]);
  document.Title = Title.Text;
  document.Active = Active.Checked;
  document.CreatedDate = Convert.ToDateTime(CreatedDate.Text);
  document.AuthorID = Convert.ToInt32(AuthorID.SelectedItem.Value);
  // ... 等等
  document.HtmlBody = HtmlBody.Text;
  Documents.Update(document);
}
</script>

来源:microsoft.com    作者:John Dyer    责编:豆豆技术应用

正在加载评论...