如何双向绑定int字段到CheckBox?

marstone 2006-06-17 04:27:52
IDE: vs2005, dotNET 2.0
问题:希望双向绑定一个int字段到CheckBox的Checked属性。
如果是1则true, 0则false, 反向亦然。

我现在用下面方法:
<asp:CheckBox ... value='<%# (int)Eval("Int32Field") == 1 ? true : false %>'>
只能实现从字段读,但是却没法回写...
不知道有没有相关机制可以完成控件向DataSource该字段的传值:Checked则传回1,否则0。
DataSource是用的ObjectDataSource, 这个CheckBox是FormView模板中的一控件。
回写数据库用的是ObjectDataSource指定的的Update方法。

另:CheckBox的点击过程不要PostBack,不要添加客户端脚本来写其他控件。
...全文
175 点赞 收藏 5
写回复
5 条回复
kemin 2006年06月20日
自己写一个Web层的框架来实现数据的双向绑定吧
回复 点赞
marstone 2006年06月20日
Knight94还能再说清楚点吗?
关键问题是在Update的时候是自动调用的ObjectDataSource对象的Update方法,而Update对象对应的方法并不在Web层(在业务逻辑层),访问不到CheckBox。

我希望的双向邦定是在Web层ObjectDataSource可以自动取到,或者可以在ObjectDataSource_Updating等事件中能够判断赋值的。

回复 点赞
antiking 2006年06月18日
提交,判断保存修改值.
回复 点赞
Knight94 2006年06月18日
你的程序是web程序,那么在client端直接修改后不会直接操作数据源。

而你进行update时候,判断一下当前行的checkbox值,根据不同然后赋给不同的int值即可。
回复 点赞
marstone 2006年06月17日
up一下。。。
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.5w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告