2008-10-20 138 views
2

表單是否有一個XSD轉換爲輸入表格(ASP.NET C#),以便以後每當一個新的字段被添加/移除從XSD領域對在標準方式頁面分別自動顯示或消失,這是需要在內部開發的東西,我認爲必須有一種方法來序列化/反序列化並生成一個表單?任何hel將不勝感激。XSD元素在ASP.NET

回答

2

我不認爲有什麼內置的完全自動化。但是,你可以非常接近。 Visual Studio包含一個名爲xsd.exe的命令行程序,您可以使用該程序從xsd文檔自動創建類定義。一旦你有了這個類定義,你就可以通過ObjectDataSource組件和一個DetailsView控件將它連接到一個表單。

0

假設:您正在使用XML,因爲它目前對您來說更簡單。

想法:既然你想創建一個表單來處理數據,我猜你可能會打開到SQL而不是XML。這可能並非如此,但如果您擁有數據庫後端而不是XML/XSD後端,則可能會找到更多工具來幫助您。 (另外還有方法可以將數據從一個轉換爲另一個)。

有一些工具可以在ASP.NET中從數據庫創建表單。例如,SubSonic有一個自動腳手架模塊,可以讓你創建一個只知道其模式的數據庫管理器。如果模式更改,只需讓SubSonic重新生成其文件,並且表單將被修改。這並不完美,但可能會有很長的路要走,這取決於您的需求。

選項1)您可以創建一個從XSD(How can I create database tables from XSD files?)數據庫架構和使用亞音速,從這一點上。這可能比你原來的問題更加痛苦......只有你知道。

選項2)破壞SubSonic腳手架,以便它支持您的基礎XSD/XML而不是數據庫。你可以重新使用大量的基礎設施(SubSonic是開源的)來從XSD生成表單。

祝你好運!

0

好吧,我不得不說,ObjectDataSource控件並不是一個壞主意,但如果你已經嵌套元素,這並不工作。除此之外,對於嵌套元素,您還將在DetailsView中擁有所有「..FieldSpecified」布爾型字段。

我仍然試圖找出如何使用XSD文件來生成一個ASP.NET的形式,而不需要輸入的一切,這是猴子的工作。

任何人都已經遇到這個問題?

PS:另一種方法是使用InfoPath,但這需要許可軟件才能以網頁形式運行...