在我當前的項目中,我們使用了大量的用戶控件。大型用戶控件(500多行代碼)分爲幾個小型用戶控件,便於維護。ASP.NET開發 - 用戶控件使用最佳實踐
我的問題是:大多數用戶控件不能在其他地方重複使用,但是這種基於用戶控件的開發會使控件之間的通信變得複雜,例如,事件無處不在。
您有什麼想法使用用戶控件?
在我當前的項目中,我們使用了大量的用戶控件。大型用戶控件(500多行代碼)分爲幾個小型用戶控件,便於維護。ASP.NET開發 - 用戶控件使用最佳實踐
我的問題是:大多數用戶控件不能在其他地方重複使用,但是這種基於用戶控件的開發會使控件之間的通信變得複雜,例如,事件無處不在。
您有什麼想法使用用戶控件?
通常情況下,我會使用ASCX,但不一定可以重複使用它,但要將其功能遠離ASPX。這適用於導航菜單或一對下拉菜單,這些菜單用於爲地址表單選擇城市&狀態。
這裏的關鍵是,我不希望我的ASPX成爲一堆微觀行爲,我希望頁面代表宏觀行爲。
現在,我知道這是非常抽象的,我不會總是這樣做,但這就是我傾向於使用該技術。
用戶控件可在ASP.NET應用程序中重複使用。爲了使它可以跨應用程序重用,自定義網頁控制會更好,但創建它的痛苦阻止了許多應用程序。有些人訴諸於複製代碼。
這裏有一個文章可能有助於: http://geekswithblogs.net/dotnetrodent/archive/2006/06/16/82136.aspx
我個人避免用戶控件如果equivelant自定義控件很容易實現。
我也避免打破用戶控制,除非他們將被重用。
就像你所說的,跨項目的事件管理和可重用性是用戶控制的一種痛苦。
使用用戶控件就像您以前在經典網頁編程中使用包含文件一樣。用戶控件功能更豐富,因爲它們完全面向對象;但是它們不一定很容易重用。除了服務器端的包含能力之外,垃圾用戶控制支持自定義Web控制。
或者我可能只是一個風袋。這裏是Microsoft's suggestions about when to use them。