Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用ASP.NET FormView显示和更新混合数据源_C#_Asp.net_Objectdatasource_Formview - Fatal编程技术网

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

C# 使用ASP.NET FormView显示和更新混合数据源,c#,asp.net,objectdatasource,formview,C#,Asp.net,Objectdatasource,Formview,我在ASP.NETWebForm上有一个FormView和一个ObjectDataSource 现在,我要显示并允许编辑的数据如下: 访问所有这些属性的唯一方式:组织ID 公司来自DB LDAP服务器from/to DB,一个类似KeyValuePair的表 域名from/to DB,一个类似KeyValuePair的表 使用DHCPfrom/to DB,一个类似KeyValuePair的表 IP地址从/到WMI实用程序类,数据库中没有存储 子网掩码从/到WMI实用程序类,数据库中没有存储 所以

我在ASP.NETWebForm上有一个FormView和一个ObjectDataSource

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

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

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

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

现在我再也不打算创建一个新实体了。它总是显示和更新。总有一个实体


这是理论。有什么快速指示吗?谢谢。

最简单的解决方案是创建一个带有您提到的类型的公共自动属性的
系统设置
类,然后从中创建一个
列表
,并将其提供给
对象数据源
(如果您的表没有固定长度,则使用foreach循环在
数据绑定
事件中为它们添加控件)

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

如果没有,则只需自己处理更新事件(为
ObjectDataSource
指定幻影更新方法并立即取消),逐个读取输入字段(将它们分组到每个表的单独容器下,或者让它们共享id的前缀或后缀,以便您知道它们属于何处),并将值分派到各自的位置


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

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