2012-07-09 48 views
0

我們的團隊正在用ASP.NET構建一個新的網站。我們計劃使用三層架構。問題在於網頁上顯示的控件需要根據客戶的要求隨時更改,這意味着需要添加一對標籤/文本框,或者在客戶需要時刪除一對標籤/下拉列表。所以佈局需要靈活,並允許輕鬆添加或刪除控件,雖然它只顯示一些簡單的產品信息,如價格,折扣,稅收等。如何設計一個網站時,其內容佈局需要隨時更改?

該網站的以前版本保存所有控制信息一個數據庫,如控件名稱,控件類型(文本框,標籤,下拉列表),它屬於哪個頁面和麪板等等。你可以看到有很大的性能影響,因爲每次有這個頁面的請求時,它都需要無論請求是否回發,都可以從數據庫中獲取所有必需的控件並手動添加到頁面中。

我們想直接將控件添加到.aspx頁面,但在這種情況下,以後很難再改變它們。我們還考慮將所有控件的信息保存在XML文件中,這可能會帶來一些性能優勢,但仍需要始終呈現控件。

因此,這是我們的問題,以改善應用程序的性能,同時也滿足用戶的需求。任何人都可以幫助我解決任何問題嗎? PS:如果我沒有說清楚,你也可以提出問題。最好的祝福。

+0

如果您需要這種靈活性水平,您應該考慮LightSwitch。你是否想要構建一個可配置的平臺?或者你不希望收集前臺的需求? – 2012-07-09 03:38:59

+0

@GlennFerrieLive,我們不熟悉LightSwtich,時間有限。這不是一個可配置的平臺,我們只是想隔離控制添加和刪除過程,並減少痛苦。 – ugoa 2012-07-09 05:05:25

回答

0

這聽起來像是User Controls的一個很好的情況。如果您只是在切換子控件可見性,那麼創建具有可切換可見性屬性的用戶控件應該能夠滿足您的需求。您仍然可以使用後端來切換可見性,但只需從數據庫中取出是/否標誌而不是整個頁面模式。從體系結構的角度來看,用戶控件非常棒,因爲它們鼓勵模塊化,代碼重用,並且很好地適用於版本控制(UsercontrolV1.cs,UserControlsV2.cs等)。在變更請求需要邏輯更新的情況下,或者只需要恢復到x迭代前存在的構建,版本控制就顯得尤爲重要。

+0

你的意思是對於每一個產品信息(價格,稅金,折扣等),我們應該把它包裝到一個用戶控制中?在這種情況下,會有數百個小用戶控件,其中大多數都是相似的,似乎很多重複的工作。我誤解了你的觀點嗎? – ugoa 2012-07-09 05:28:45

0

現在,我稱之爲靈活的網絡應用程序。

上的網頁需要顯示的控件來改變所有的時間

誰將改變控制?客戶端?每次請求更改控件時,是否可以不更新.aspx文件並將其發佈到服務器?

但無論如何,它是一個有趣的問題。除了使用XML文件外,沒有別的辦法可以完成。

+0

開發人員應根據客戶的要求更改控件。我們希望使這個過程更加模塊化,而不是隨處修改現有的代碼。 – ugoa 2012-07-09 05:45:00

+0

然後我認爲你應該只用於XML或文件I/O。否則事情會變得更加複雜 – 2012-07-09 06:17:44