2010-02-10 91 views
0

我有幾個超級簡單的數據庫。基本上它們都由單個表格組成,這些表格可以保存跟蹤/記錄數據等。使用.net生成簡單的網站圖形用戶界面

現在我想列出這些數據,但我希望找到一個適用於所有數據庫中所有不同表格的解決方案。所以基本上我正在尋找某種方式/指向數據庫解決方案的某種模式,生成代碼和GUI以及發佈站點。這些表可以有大量的行,所以我需要功能上像分頁等,但否則一個簡單的列表就是我要找的第一步。我一直在尋找Dynamic Data from MS - 可以工作嗎?其他選項?我真的很喜歡網站對我的ASP.NET MVC ...

作爲第二步,我也想有可能通過GUI更改/添加和刪除行中的數據。

+0

我絕對推薦動態數據。您可以在不到5分鐘的時間內啓動並運行該站點,因此我認爲這是值得一試的。 – 2010-02-10 08:22:43

回答

1

如果你不介意強制性的JavaScript,那麼我會建議jqGrid。枚舉表,列,並從中生成jqGrid的列(colModel)應該非常簡單。你可以看到我如何做一個similar事情的例子here - 它幾乎正是你所需要的,但是對於類而不是數據庫。所以,你不能直接使用這個解決方案,因爲它適用於域類,但它非常接近,你可以把它作爲一個基礎並重寫JqGridExtensions.JqGridModel來處理數據庫表定義,而不是域類定義。

如果您的網站必須在沒有JavaScript的情況下工作,那麼無論是搭配腳手架的MVC v2都可以使用,或者您可以嘗試S#arp Architecture,其中也包括自己的腳手架,可以生成完整的CRUD模型/控制器/視圖/存儲庫/等等這裏的好處是,您仍然可以使用,而不是數據集。然而,據我所知,你必須手動爲每個實體定義腳手架 - 但由於腳手架非常靈活,我相信你可以編寫Uber-Scaffolding類,它將枚舉你的數據庫並吐出子腳手架文件或只是馬上給他們打電話。一個quote

編程方式創建一個對象 稱爲EntityScaffoldingDetails這 持有的細節,如實體名稱, 命名空間,與物業一起 詳細信息,如屬性名稱, 類型,域簽名包容, 屬性,默認測試值和SQL生成詳細信息。

但是,我更喜歡jqGrid的方式,因爲它很容易從通常包含所有元數據的數據庫模式生成jqGrid模型定義。當然,可以整合S#arp腳手架和jqGrid,以便第一個產生後者。腳手架的好處是你可以完全控制代碼,你可以把它和它調整。因爲,你不能指望它是100%自動的 - 生成器不能決定HasMany或ManyToMany,控制類型,隱藏字段等等。當然,你可以使用SQL元數據(屬性也許)給腳手架生成器提供提示。

現在,如果您需要現成的解決方案,我不認爲除了商業工具外,其他產品都可以使用。以上只會讓你組裝自己的一個。例如,對於商業工具,Telerik Grid表示能夠「根據它所綁定的數據項的屬性自動推斷其列」。