2013-02-03 81 views
2

我想創建一個網站,使用戶能夠創建/設計自己的動態表單。 (c#asp MVC4)。文本框,下拉列表框,複選框,單選按鈕等動態表單創建 - XSD XML SQL

我想這樣做,創建的表單模板將是XML,我將通過xslt將其轉換爲HTML以呈現給用戶。

當窗體被保存/編輯後,我會將該窗體的結果存儲到數據庫表中。每行都有一個表單ID,字段名稱,屬性標識字段類型(日期,整數,字符串),值。

我的問題是:

  1. 你認爲這是去這樣做的正確方法?我在 錯過了什麼?有沒有更簡單的方法來做到這一點?
  2. 我應該將信息保存到數據庫嗎?我正在考慮將 表單保存爲XML,並將提交的值存儲在 數據庫的單個條目中,但我認爲這可能會在稍後的日期減慢查詢數據,因爲它需要解析許多XML片段。
  3. 有沒有可以使用的東西:任何推薦的 XSD的,我可以用於初學者?項目?

回答

2

對於它的價值:是的,它在這裏說使用XML來描述表單是描述表單的好方法。

您可能會發現看XForms(spec明確寫入,Steven Pemberton寫出優秀的tutorial on XForms for users of HTML forms)很有幫助。您可能會發現,使用XForms執行所需操作比從頭編寫應用程序更容易。或者,如果您決定從頭編寫自己的應用程序,您可能會發現XForms設計值得研究。

我不認爲我理解你對數據庫的問題足夠清楚地回答它。請記住,如果使用XQuery數據庫(例如SQL Server),解析存儲在數據庫中的XML的成本可能相對較低。

+0

謝謝。 XForms確實看起來很有前途,但我認爲它不適合我。我希望找到一個XSD來描述每個html控件,以及該控件的驗證細節。然後我會用MVC中的Razor解析這個來顯示信息。考慮一下後,我想我會試圖限制我的需求範圍,遠離XML並使用關係數據庫來描述表單。如果過於複雜,可能需要在以後回到XML,但首先要選擇低懸的水果,並看看它是如何發展的。 – user1619480

0

如果您不需要拖放功能,CKEditor可以適應您的要求。

還可以選擇使用預標記來保留所創建表單的最低級別細節。

我看到你決定不使用XML,這是一個明智的選擇,考慮到現在可用的免費選項的數量巨大。

+0

你從哪裏看到他決定使用XML,以及XML如何與免費選項衝突? –