使用ASP.NET FormView在混合数据源上显示和更新

时间:2012-06-04 07:11:10

标签: c# asp.net objectdatasource formview

我在ASP.Net Webform上有一个FormView以及一个ObjectDataSource。

现在,我要显示和允许编辑的数据如下:

访问所有这些属性的唯一方法:组织ID

来自DB的

公司 LDAP服务器从/到DB,一个类似KeyValuePair的表 域名来自/来自DB,一个类似KeyValuePair的表 使用DHCP 来自/来自DB,一个类似KeyValuePair的表 来自/到WMI实用程序类的 IP地址,DB中没有存储空间 子网掩码从/到WMI实用程序类,在DB中没有存储

所以,我需要以某种方式创建一个类型的实体... umm ...在运行时SystemSetting并将其提供给ObjectDataSource,它将处理FormView food-source。编辑后,我需要切换到编辑模式,更新后,我需要检索值/ SystemSetting实体并手动将值分配到各自的位置。

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

那是理论。有什么快速指针吗?感谢。

1 个答案:

答案 0 :(得分:1)

最简单的解决方案是创建一个SystemSetting类,其中包含您提到的类型的公共自动属性,然后从中生成List<SystemSetting>,并将其提供给ObjectDataSource(如果你的表没有固定长度,那么在DataBinding事件上使用foreach循环为它们添加控件。

在编辑时,如果您的表具有固定长度,那么只需双向数据绑定所有内容并且您已全部设置,您将自动为您的SystemSetting更新方法获取更新的ObjectDataSource

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

您需要提供更多详细信息,或者更好的代码示例,以获得更完整的解决方案。