asp.net2.0中用戶自定義的User Control繼承於System.Web.UI.UserControl,而用戶自定義的Server Control則繼承於System.Web.UI.WebControls.WebControl。要想了解User Control與Server Control的不一樣,只須要看看這兩個類有什麼不一樣,以下圖。asp.net
- System.Web.UI.UserControl繼承於System.Web.UI.TamplateControl;
- System.Web.UI.UserControl實現了System.Web.INamingContainer;
INamingContainer是一個標誌性接口它沒有定義任何方法。它表示這是一個容器控件,能夠加入到頁面的控件樹中。
- System.Web.UI.UserControl實現了System.Web.IFilterResolutionService;
- System.Web.UI.UserControl實現了System.Web.IUserControlDesignerAccessor。
用於在vs設計視圖中訪問與設置該控件。
綜上所述,User Control與Server Control的最大區別就是:ide
- User Control默認是一個容器控件,而Server Control不是(除非在自定義Server Control時實現INamingContainer);
- User Control能夠在vs設計視圖中進行可視化設計,而Server Control則只能經過編碼進行設計。