2009-05-01 21 views
-1

我的一個朋友寫了一個網站,有這麼多的用戶控制和頁面。好的編程建議

頁面包含如此多的標籤,隱藏值和用戶控件。根據用戶的要求,他正在啓用和禁用這些控件。在每個webform頁面載入中,他正在循環播放Request.form.allkeys並比較每個控件。基於這種比較,他正在啓用和禁用網絡表單上的控件。

我不知道這是不是一個好的編程習慣。

任何人都可以指向正確的方向嗎?

+0

問題的一些「編輯整理」可能是好的。 – 2009-05-01 13:34:47

回答

4

我繼承了這樣一個網站一次。寫它的人一定是個受虐狂。

這是一個可怕的方式來設計一個網站。什麼時候顯示/隱藏東西,何時處理來自哪些字段的輸入的複雜性,太多了。維護變得不可能,因爲一個微小的修改會產生可怕的後果

更好的方法是將常見行爲隔離到單個頁面中。如果該頁面很複雜,則將該頁面的核心部分放入用戶控件中。將用戶界面分解爲邏輯部分並將它們拼接在頁面上。

你的頁面代碼應該非常簡單。隱藏/顯示特定字段的邏輯是商業邏輯,應儘可能用代碼表示。

0

我並不是一個webdev,但我知道這在桌面應用程序世界中被認爲是非常糟糕的做法,我真的懷疑它在網絡世界中有很大的不同。

考慮在特定操作發生時啓用和禁用相關控件,或許使用更多MVC(或現在是MVVM?)方法。你的朋友的應用程序邏輯與演示邏輯非常緊密地結合在一起,因此如果需要更改,整個系統可能會產生連鎖反應。

0

我從來沒有聽說過在使用Web控件時解析表單發佈值。當我做傳統的ASP時,這將是我的毒藥,但不是與網頁控制。

至於包裝噸的功能到一個頁面,這可能是一個壞主意。擁有用戶控件對於分組相關UI功能塊是有意義的,甚至可以隱藏某個部分,但對於整個「頁面」的拉入和拉出來說並不那麼重要。只是有不同的頁面。另外,如果在同一個頁面中混合使用如此多功能的原因是要使用相關代碼,那麼請將相關代碼移動到可供所有代碼隱藏程序使用的庫中。回到用戶控件,將它們用於重複使用的UI元素,這些元素可以在任何頁面中使用。