往事随锋
博客园
社区
首页
新随笔
联系
管理
订阅
随笔- 21 文章- 0 评论- 25
让你的实体字段和页面上的控件映射,自动绑定 -- ObjectBinding1.0
背景:使用asp.net开发,在编辑或新增一条记录时,你要把你的数据一个个赋值到页面上的控件去如:
Job job=.....;//获取一个Job实体
this.textbox1.Text=job.Name;
this.textbox2.Text=job.Position;
this.
DropDownList1
.
SelectedValue
=job.Grade;
....
....
由于基于bs的限制,控件不能想cs那样有(DataBindings)高级属性,于是在这种情况下,我自己封装了一个类似于中间件的控件
ObjectBinding
,把
实体字段和页面上的控件映射,实现自动绑定。
下面就演示一下,如何在asp.net上使用:
1 首先把这控件拖拽到页面上:
2 设置
ObjectBinding
的
SourceType
和
ItemsMappings
属性
SourceType即你的实体类型,类似与ObjectDataSource空间的TypeName,会自动加载所有的类型
ItemsMappings即建立控件与字段的映射,都只需要下拉选择一下就行
3 OK,基本的设置就这么多,现在我们在后台写些代码:
public
partial
class
_Default : System.Web.UI.Page
{
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(
!
Page.IsPostBack)
{
ObjectBinding1.DataSource
=
(
new
ClassLibrary.Job()).getInstance();
ObjectBinding1.DataBind();
}
}
protected
void
Button1_Click1(
object
sender, EventArgs e)
{
ObjectBinding1.ControlBind();
ClassLibrary.Job Job
=
ObjectBinding1.DataSource
as
ClassLibrary.Job;
Response.Write(
"
Job.ID:
"
+
Job.ID
+
"
--------------Job.Name:
"
+
Job.Name);
}
}
好了到此就能很好地显示出来了,看看效果
到此,就简单地介绍这么多,至于源码自己下载了去看吧,希望大家提些宝贵意见:)
修改:
public sealed class ItemMappingCollection : System.Collections.ObjectModel.Collection<ItemMapping> 这边以前继承
BindingList<ItemMapping>
,这样的话,在页面上会生一些如成itemmappings-allowedit等无用代码
源码下载
posted @ 2008-07-07 13:01
往事随锋
阅读(1505)
评论(17)
编辑
收藏
所属分类:
C#
、
ASP.NET
发表评论
回复
引用
查看
#1楼
2008-07-07 13:27 |
巫云
见识一下。
回复
引用
#2楼
2008-07-07 14:11 |
anonymouses [未注册用户]
想法是不错,不过效率可能不怎么好啊。
回复
引用
查看
#3楼
2008-07-07 14:29 |
kiler
不错的东西。
回复
引用
#4楼
2008-07-07 14:59 |
wxdxy [未注册用户]
好像以前的maillee做过,不过不开源
回复
引用
查看
#5楼
2008-07-07 15:37 |
代码乱了
如果加上从控件的值映射到实体对象的字段上就不错了
回复
引用
查看
#6楼
2008-07-07 15:56 |
巫云
@代码乱了
刚看了一遍代码,有这个功能。
回复
引用
查看
#7楼
2008-07-07 15:56 |
巫云
建议在控件绑定值的时候,加个Format属性,那就更方便了。
回复
引用
查看
#8楼
[
楼主
]2008-07-07 15:59 |
往事随锋
@巫云
这只是一个最初的版本,以后再慢慢完善吧
回复
引用
查看
#9楼
[
楼主
]2008-07-07 16:01 |
往事随锋
@代码乱了
控件到字段以及字段到控件映射都实现了
回复
引用
查看
#10楼
2008-07-07 17:01 |
Sam Lin
下来研究一下,本来是想通过反射来实现这一功能的
回复
引用
查看
#11楼
2008-07-07 19:56 |
金色海洋(jyk)
你的思路是
控件 —— 实体类 —— 数据库(字段)
而我的思路是
控件 —— 数据库(字段)
我觉得中间加一个实体类好像没有什么大的用处,所以我就省略实体类了。
回复
引用
查看
#12楼
2008-07-08 09:55 |
想爱就去爱吧
回复
引用
#13楼
2008-07-08 10:33 |
jean [未注册用户]
看了一下,好像itemmappings-allowedit没有效果,觉得应该在cc1:ItemMapping也能设置编辑或者只读,这样就更好了,纯属个人观点。
回复
引用
#14楼
2008-07-08 11:56 |
actact [未注册用户]
直接用反射来完成也很方便,代码也不多,参考
http://www.cnblogs.com/snryang/archive/2008/03/22/1117974.html
回复
引用
#15楼
2008-07-08 17:57 |
黑鱼 [未注册用户]
太强了,强得跟个狗似的!!!
回复
引用
查看
#16楼
2008-07-26 10:20 |
Andy Huang
非常好的东西,可以在进一步开发,使他能在正式的环境下应用,如你现在只是单向的赋值,要做到取值,双向的
回复
引用
查看
#17楼
[
楼主
]
2008-07-28 09:12 |
往事随锋
@Andy Huang
现在就是双向的,呵呵
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
博客园首页
新闻频道
社区
小组
博问
网摘
闪存
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2008-07-08 16:10 编辑过
成果网帮您增加网站收入
相关文章:
使用Visual Studio2005入门.Net2.0系列视频教程
prototype.js 1.4版开发者手册(强烈推荐)
关于IE问题,请教和求救
asp.net控件开发基础(1)
ASP.NET AJAX入门系列
ASP.NET AJAX入门系列(2):使用ScriptManager控件
相关链接:
所属分类的其他文章:
利用Lucene.net对附件做搜索
封装一个图片轮换的web控件
让你的实体字段和页面上的控件映射,自动绑定 -- ObjectBinding1.0
Type.GetType()与System.Web.Compilation.BuildManager.GetType()
实现IConfigurationSectionHandler来获取自定义配置结构
.Net使用Hessian调用JAVA的函数
最新IT新闻:
Google 10周岁生日
祝Google 10周岁生日快乐
Google十年市值达1500亿美元 创造奇迹
GMail:回过头来支持IE6
Google十年大变样
<
2008年7月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
与我联系
发短消息
搜索
我参加的小组
ASP.NET
.NETCompactFramework
随笔分类
ASP.NET(11)
(rss)
C#(6)
(rss)
Report(2)
(rss)
Windows Mobile(5)
(rss)
最新评论
1. re: 封装一个图片轮换的web控件
楼主 不好意思啊!呵呵,没有完全看完你的东西,其实是已经支持的,只是需要自己去绑定! (kakayang)
2. re: 封装一个图片轮换的web控件
为什么不能加上像下拉框控件一样的绑定事件?这样不是很灵活吗! (kakayang)
3. re: 利用Lucene.net对附件做搜索
比狗还强啊 (鸭子)
4. re: 微软的RDLC报表设计小例
@hbf
不好意思,163的防盗链,你可以访问
(往事随锋)
5. re: 微软的RDLC报表设计小例
晕倒,还看不到图片,恶心 (hbf)
阅读排行榜
1. 让你的实体字段和页面上的控件映射,自动绑定 -- ObjectBinding1.0(1505)
2. 破解版果冻手机动画主题for WM5 & WM6(338)
3. 微软的RDLC报表设计小例(308)
4. 在.NET Compact Framework调用PPC设备的震动功能(241)
5. Windows Mobile利用Web Service获取天气预报(211)