【问题标题】:Using ASP.NET FormView for show and update on mixed data source使用 ASP.NET FormView 显示和更新混合数据源
【发布时间】:2012-06-04 07:11:09
【问题描述】:

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

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

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

来自 DB 的

公司 LDAP 服务器 from/to DB,一个类似 KeyValuePair 的表 Domain Name from/to DB,一个类似 KeyValuePair 的表 Use DHCP from/to DB,一个类似 KeyValuePair 的表 IP 地址 从/到 WMI 实用程序类,在 DB 中没有存储 子网掩码来自/到 WMI 实用程序类,在 DB 中没有存储

所以,我需要以某种方式在运行时创建一个类型为...嗯... SystemSetting 的实体,并将其提供给 ObjectDataSource,它会处理 FormView 食物源。编辑时,我需要切换到编辑模式,更新时,我需要检索值/系统设置实体并手动将值分派到各自的位置。

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

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

【问题讨论】:

    标签: c# asp.net objectdatasource formview


    【解决方案1】:

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

    在编辑时,如果您的表具有固定长度,那么只需对所有内容进行双向数据绑定,一切就绪,您将自动为您的 ObjectDataSource 更新方法获得更新的 SystemSetting 类。

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

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

    【讨论】:

    • 天哪!我确实已经创建了SystemSetting 类和SystemSettingList 类。 SystemSettingList 继承了 List<SystemSetting>。虽然,SystemSettingList 中总会有一个SystemSetting,但我想是为了正确的数据绑定。
    猜你喜欢
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-15
    相关资源
    最近更新 更多