【问题标题】:XSD elements to a Form in ASP.NETXSD 元素到 ASP.NET 中的表单
【发布时间】:2010-09-18 01:25:22
【问题描述】:

是否有将 XSD 转换为输入表单 (ASP.NET C#) 的标准方法,以便以后在 XSD 中添加/删除新字段时,页面上的字段会分别自动显示或消失,这是需要内部开发的东西吗?我认为必须有一种方法来序列化/反序列化并生成表单?任何 hel 将不胜感激..

【问题讨论】:

    标签: asp.net webforms xsd input elements


    【解决方案1】:

    我不认为有任何内置功能可以使这完全自动化。但是,您可以非常接近。 Visual Studio 包含一个名为 xsd.exe 的命令行程序,可用于从 xsd 文档自动创建类定义。一旦有了该类定义,您就可以通过 ObjectDataSource 组件和 DetailsView 控件将其连接到表单。

    【讨论】:

      【解决方案2】:

      假设:您正在使用 XML,因为目前它对您来说更简单。

      想法:由于您想创建一个表单来操作数据,我猜您可能对 SQL 而非 XML 持开放态度。情况可能并非如此,但如果您有数据库后端而不是 XML/XSD 后端,您可能会找到更多工具来帮助您。 (此外,还有一些方法可以将数据从一种转换为另一种)。

      有一些工具可以从 ASP.NET 中的数据库创建表单。例如,SubSonic 有一个自动脚手架模块,可以让您创建一个只知道其模式的数据库管理器。如果架构发生变化,只需让 SubSonic 重新生成其文件,您的表单就会被修改。它并不完美,但可能会有很长的路要走,具体取决于您的需求。

      选项 1) 您可以从 XSD (How can I create database tables from XSD files?) 创建数据库架构并从那时起使用 SubSonic。这可能比你原来的问题更痛苦......只有你知道。

      选项 2) 破解 SubSonic 脚手架,使其支持您的底层 XSD/XML 而不是数据库。您可能可以重用他们的许多基础设施(SubSonic 是开源的)来从 XSD 生成表单。

      祝你好运!

      【讨论】:

        【解决方案3】:

        好吧,我不得不说 ObjectDataSource 不是一个坏主意,但是如果您有嵌套元素,这将不起作用。除此之外,对于嵌套元素,您还将在 DetailsView 中拥有所有“..FieldSpecified”布尔字段。

        我仍在尝试弄清楚如何使用 XSD 文件生成 ASP.NET 表单,而无需输入所有内容,这是猴子的工作。

        有人遇到过这个问题吗?

        PS:另一种方法是使用 InfoPath,但这需要许可软件作为网络表单运行...

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-10-28
          • 1970-01-01
          • 2011-01-24
          相关资源
          最近更新 更多