在asp.net中,对于一个以数据处理为主的UI层,我们往往需要写很多的代码去实现数据的绑定,当然我们也需要费一点心思从控件上去收集数据.

下面,我分享一个自定义控件来实现双向绑定。

一.基于控件ID,控件属性和数据源成员的映射

 <JerryKai:BindExtender ID="BindExtender1" runat="server">        
   <BindProperties>             
      <JerryKai:BindProperty ControlId="txtID" BindToProperty="Text"   SourceMember="UserID" />             
     <JerryKai:BindProperty ControlId="txtName" BindToProperty="Text"   SourceMember="UserName" />         
  </BindProperties> 
 </JerryKai:BindExtender>
BindProperties里对应的就是所有需要绑定要控件,BindProperty有三个属性,ControlId是绑定控件ID,BindToProperty是绑定到控件的属性,
SourceMember是数据源的成员。这样就建立了数据源到控件的映射关系。接下来就是为BindExtender控件设置数据源,并进行数据绑定了。 
 

二.实现数据源到控件的数据绑定

 this.BindExtender1.DataSource = new User { UserID = "123", UserName = "jerrykai" };  this.BindExtender1.DataBind();
绑定代码跟我们以前的完全相同,这样就实现了的数据源到控件的数据绑定
 

三.如果从控件获得数据

当我们绑定数据以后,我们可能会对绑定到控件的数据进行修改,当点击保存的时候,我们需要从控件获取数据,那么如何获取了?在BindExtender控件中,
实现了一个CreateObject方法,该方法使用如下:
User user=new User();
user = this.BindExtender1.CreateObject(user) as User;
两句代码就实现了从控件获取数据,这比以前的方式要精简很多哦!
 

四.结束语

这篇文章可能描述性的文字少了些,基本都是给出一些使用代码,大家凑合着看吧!想要源码的朋友可以从这里下载

转载于:https://www.cnblogs.com/JerryKai/archive/2011/04/23/2025716.html

推荐分享一个自定义绑定控件(附源码)相关推荐

  1. C#使用Xamarin开发可移植移动应用(3.Xamarin.Views控件)附源码

    .NET core2.0 发布了,刺激,大致看了一下,很不错,打算后期学习.(不出意外,应该也会写个小系列). 虽然官方推荐用共享类库创建新的类库..然而我这个Demo还是使用的可移植.. 嗯..解释 ...

  2. 自定义view,仿微信、支付宝密码输入控件的源码实现

    研究支付宝密码输入控件及源码实现 目标效果图 实现思路 要想实现输入,就少不了EditText 看整体布局应该是一个横向的LinearLayout 每个格子看进来应该是多个子View 那么我们是不是有 ...

  3. 20220517 Python 制作一个儿童学习软件 (附源码和软件下载) 包含语音合成 视频播放 pyqt pptsx3 Qmovie request pygame 音频播放

    20220517 Python 制作一个儿童学习软件 (附源码和软件下载) 包含语音合成 视频播放 pyqt pptsx3 Qmovie request pygame 音频播放 文章目录 202205 ...

  4. 闲来无事,用java写了一个魔方小程序。附源码

    闲来无事,用java写了一个魔方小程序.附源码 使用三维数组.相对来说还是简单.呵呵. import java.util.ArrayList; import java.util.List; impor ...

  5. java实现魔方_闲来无事,用java写了一个魔方小程序。附源码 | 学步园

    闲来无事,用java写了一个魔方小程序.附源码 使用三维数组.相对来说还是简单.呵呵. import java.util.ArrayList; import java.util.List; impor ...

  6. Vue 彩色头像|一个有趣的头像生成器 附源码

    前言 这是一款矢量风格的头像生成器,您可以搭配不同的素材组件,生成属于您自己的个性化头像. 介绍 您可能感兴趣的功能: 可视化组件配置栏 随机生成头像 重做/撤消 国际化 批量生成多个头像 在线体验 ...

  7. android 新闻应用、Xposed模块、酷炫的加载动画、下载模块、九宫格控件等源码...

    Android精选源码 灵活的ShadowView,可替代CardView使用 基于Tesseract-OCR实现自动扫描识别手机号 Android播放界面仿QQ音乐开源音乐播放器 新闻应用项目采用了 ...

  8. 手把手教你做一个数据图表生成器(附源码)...

    我的需求:手动配置X轴.Y轴.图表标题等参数自动通过Pyecharts模块生成可视化的html数据图表,并将浏览器图表展示到UI界面上. [阅读全文] 制作出图表后的效果展示如下: 另外,生成后的图表 ...

  9. android 新闻应用、Xposed模块、酷炫的加载动画、下载模块、九宫格控件等源码

    Android精选源码 灵活的ShadowView,可替代CardView使用 基于Tesseract-OCR实现自动扫描识别手机号 Android播放界面仿QQ音乐开源音乐播放器 新闻应用项目采用了 ...

最新文章

  1. DOM笔记(五):JavaScript的常见事件和Ajax小结
  2. Transformer的潜在竞争对手QRNN论文解读,训练更快的RNN
  3. SQL中变量的赋值-select
  4. android 上拉隐藏布局,Recycleview上拉隐藏与下拉显示
  5. 老粮商谋定国际农民丰收节贸易会·万祥军:巨头跨国不上市
  6. CSS 小结笔记之清除浮动
  7. Visual Studio “类视图”和“对象浏览器”图标
  8. 判断系统大小端方法分析与总结
  9. 让onclick响应Enter键
  10. 我是如何成为算法工程师的,超详细的学习路线
  11. Use YSlow to know why your web Slow
  12. 【Linux operation 07】 - SUSE 12 SP5系统挂载硬盘
  13. fluent linux运行算例,在linux环境下运行fluent,case文件中带有udf的话,jou文件应该做什么改变呢?...
  14. LiveGBS流媒体平台国标GB/T28181作为下级支持国标级联海康大华宇视华为等第三方国标平台支持对接政务公安内网国标视频平台
  15. JAVA泛型通配符T,E,K,V区别,T以及ClassT,ClassT的区别
  16. freemarker的第一个例子
  17. Nutanix与联想因MSP再结缘,共赴混合云之约
  18. Java Gradle 入门与实践
  19. ilitek win10 触摸屏驱动_大佬手机刷入win10系统开机 小米8多少原生系统可以尝鲜...
  20. 各大框架都在使用的Unsafe类,到底有多神奇?

热门文章

  1. Java Web现代化开发:Spring Boot + Mybatis + Redis二级缓存
  2. 关于ConcurrentDictionary的线程安全
  3. Elasticsearch 2.3.0 重建索引
  4. LeetCode 1111. 有效括号的嵌套深度
  5. Python安装与库导入
  6. Linux下辅助DNS的搭建以及远程和加密更新
  7. 福建副省长:加快推进区块链应用场景,积极打造数字应用第一省
  8. 以太坊扩容项目 Arbitrum 放弃专利,即将上线主网
  9. 持有至少百万美元钱包本周增至66,540,增长了150%
  10. SAP License:自动创建带内部订单预算管控的在建工程