Asp.net

是否可以將 Web 使用者控制項添加到類庫中?

  • January 9, 2013

我正在考慮建構一些 Web 使用者控制項,著眼於重用,但我似乎無法在 VS2008 的類庫中添加 Web 使用者控制項。有沒有辦法解決這個問題,或者有沒有更好的方法來創建可重用的控制項?

您可以創建封裝所需功能的Web 使用者控制項或**Web 自定義控制項。**這兩個控制項之間的主要區別在於易於創建與設計時的易用性。

您或許應該考慮創建一個 Web 自定義控制項庫。有一個使用 Web 控制項庫模板創建 Web 自定義控制項的演練

根據 MSDN 文章“ Web 使用者控制項與 Web 自定義控制項的建議”,這些是這兩種控制項之間的區別:

Web 使用者控制項很容易製作,但在高級場景中使用起來不太方便。您開發 Web 使用者控制項的方式幾乎與開發 Web 窗體頁面的方式完全相同。與 Web 窗體一樣,使用者控制項可以在視覺化設計器中創建,可以使用與 HTML 分離的程式碼編寫,並且可以處理執行事件。

但是,由於 Web 使用者控制項是在執行時動態編譯的,因此它們無法添加到工具箱中,並且在添加到頁面時由簡單的佔位符字形表示。如果您習慣於完整的 Visual Studio .NET 設計時支持,包括屬性視窗和設計視圖預覽,這會使 Web 使用者控制項更難使用。

此外,在應用程序之間共享使用者控制項的唯一方法是在每個應用程序中放置一個單獨的副本,如果您對控制項進行更改,這需要更多的維護。

Web 自定義控制項是編譯後的程式碼,這使得它們更易於使用但更難以創建;Web 自定義控制項必須用程式碼編寫。但是,一旦創建了控制項,就可以將其添加到工具箱中,並在具有完整屬性視窗支持和 ASP.NET 伺服器控制項的所有其他設計時功能的視覺化設計器中顯示它。

此外,您可以在全域程序集記憶體中安裝 Web 自定義控制項的單個副本,並在應用程序之間共享它,這使得維護更加容易。有關詳細資訊,請參閱全域程序集記憶體。

引用自:https://stackoverflow.com/questions/398538