网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

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

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/13
FormBinding 项目中引用控件的程序集,并将控件类型添加到 if else 列表。
  
  此问题的解决方案是第二次使用反射,以查看各个控件的属性,并找出控件是否具有与业务对象的属性类型对应的属性类型。
  
  用已知属性设置未知控件的值
  
  如上所述,有些控件共享字符串属性 .Text,大多数窗体控件以实质相同的方式使用此属性。该属性用于获取和设置用户输入的数据。有大量控件还使用了其他一些公用属性和属性类型。以下是这些属性中的一些:称为 .SelectedDate 的 DateTime 属性,它在许多日历和日期选取器控件中使用;称为 .Checked 的布尔属性,它在布尔型控件中使用;称为 .Value 的字符串属性,它常见于隐藏控件。这四个属性(string Text、string Value、bool Checked 和 DateTime SelectedDate)是最常见的控件属性。如果可以将系统设计成无论何种控件类型,都绑定到这些属性,那么我们的绑定方法将适用于使用那四个属性的任何控件。
  
  在以下代码中,我们将第二次使用反射(这一次是对窗体控件使用,而不是对业务对象使用),以确定它是否具有任何常用属性。如果有,则尝试将业务对象的属性值设置为控件的属性。作为示例,我们将对整个 PropertyInfo 数组进行迭代,并查找称为 .Text 的字符串属性。如果控件具有该属性,则将数据从业务对象发送到该控件的属性。
  
  if (control is ListControl) {
  //
  } else {
  // 获取控件的类型和属性
  //
  Type controlType = control.GetType();
  PropertyInfo controlPropertiesArray =
  controlType.GetProperties();
  
  // 查找 .Text 属性
  //
  foreach (Pro

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号