2012-06-04 29 views
0

我在ASP.Net Webform上有一个FormView和一个ObjectDataSource。使用ASP.NET FormView在混合数据源上显示和更新

现在,我想显示并允许编辑是如下数据:

独特的方式来访问所有这些属性:组织ID

公司从DB LDAP服务器从/到DB,KeyValuePair-like表 域名从/到DB,类似于KeyValuePair的表 从/到DB使用DHCP,KeyValuePair-like表自/至WMI实用工具类IP地址,在DB没有存储 子网掩码自/至WMI实用工具类,在DB

没有储存所以,我需要以某种方式创建一个类型的实体... umm ... SystemSetting在运行时并将其提供给ObjectDataSource,它将负责FormView食物来源。编辑时,我需要切换到编辑模式,更新后,我需要检索值/ SystemSetting实体并手动将值分配到各自的位置。

现在我永远不会创建一个新的实体。它始终显示和更新。而且总有一个实体。

这就是理论。任何快速指针?谢谢。

回答

1

最简单的解决方法就是建立一个SystemSetting类你所提到的类型的公共自动属性,然后进行List<SystemSetting>出来,和饲料,为的ObjectDataSource(如果你的表没有一个固定的长度,然后使用foreach循环在DataBinding事件中为它们添加控件)。

在编辑时,如果您的表格具有固定长度,那么只需双向绑定所有数据并设置完毕,您将自动获取更新SystemSetting类的更新方法ObjectDataSource

如果不是,那么只需自己处理更新事件(指定ObjectDataSource的幻像更新方法并立即取消它),逐个读取输入字段(将它们分组在每个表的单独容器中,或让它们共享一个ID的前缀或后缀,所以你知道它们属于哪里),并将值分派到它们各自的位置。

您必须提供一些更多详细信息或更好的代码示例,以获得更完整的解决方案。

+0

哦,好的!我确实已经创建了'SystemSetting'类和'SystemSettingList'类。 'SystemSettingList'继承了'List '。尽管在SystemSettingList中总是会有一个'SystemSetting',但我想为了正确的数据绑定。 – DoomerDGR8

+0

@HassanGulzar:是的,这是它的唯一原因... –

+0

它工作得很漂亮。谢谢。 – DoomerDGR8