Asp.net

ASP.NET ascx vs. aspx - 你重用使用者控制項嗎?

  • January 4, 2017

我們的團隊正在開發一個相當大的 ASP.NET Web 項目,該項目最初始於 ASP.NET 1.0,並多次移植到所有新版本的 .NET。

我們廣泛使用了使用者控制項(ascx)。但回想起來,我懷疑這是一個好的決定。這些控制項中的一小部分通過不同的頁面被重用(可重用)。只有這一層複雜性添加到應用程序中,使一些事情變得更加複雜。

對於可重用、小型和專用控制項,我們使用伺服器控制項(繼承自 WebControl 類),效果很好。

所以我的問題是:開始一個新項目,是否可以擺脫 ascx 並在頁面本身(aspx)中實現所有內容?也許除非您對使用者控制項進行大量動態載入(我們不這樣做)?你有什麼經驗,你有什麼建議?

我們有一些項目廣泛使用 ASCX 控制項,而其他項目則沒有。根據我的經驗,您必鬚根據具體情況做出決定。

我最喜歡使用 ASCX 控制項的兩個原因是:

  1. 您正在實現一個 UI 功能,該功能將出現在許多不同的頁面上(或多次出現在同一頁面上)。
  2. 您希望封裝一些複雜的功能以使其與頁面的其餘部分區分開來,從而使您的程式碼更易於閱讀和維護。

ASCX 控制項可能很有用,但您確實需要確保僅在有充分理由時才使用它們 - 否則 - 正如您所說,您可能會在程式碼庫中添加不必要的複雜性。

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