ASP.NET Web 組件概觀
更新:2007 年 11 月
ASP.NET Web 組件是用於建立網站的整合式控制項集合,可讓使用者直接從瀏覽器修改 Web 網頁的內容、外觀和行為。這些修改可以套用至網站上的所有使用者或個別使用者。當使用者修改頁面和控制項時,可以儲存這些設定,以保留使用者的個人偏好設定,在未來的瀏覽器工作階段 (Session) 使用,這個功能稱為個人化。這些 Web 組件能力讓開發人員可以授權使用者動態地個人化 Web 應用程式,而不需要開發人員或管理員介入。
藉由使用 Web 組件控制項集合,開發人員可讓使用者執行下列功能:
個人化頁面內容。使用者可以將新的 Web 組件控制項加入至頁面,或是移除、隱藏或最小化控制項,如同使用普通視窗一樣。
個人化頁面配置。使用者可以將 Web 組件控制項拖曳至頁面上的不同區域,或變更其外觀、屬性和行為。
匯出和匯入控制項。使用者可以匯入或匯出 Web 組件控制項設定以用於其他頁面或網站,並保留控制項中的屬性、外觀或甚至資料,如此可讓使用者減少資料輸入和組態設定的需要。
建立連接。使用者可以在控制項間建立連接,例如,圖表控制項可以將股票行情即時看板控制項中的資料顯示為圖表。使用者不但能個人化連接本身,也能個人化圖表控制項顯示資料之外觀和細節的方式。
管理和個人化網站層級設定。授權的使用者可以設定網站層級設定,決定誰可以存取網站或網頁,以及設定控制項之以角色為基礎的存取等等。例如,具有管理角色的使用者可以將 Web 組件控制項設定為由所有使用者共用,並防止不是管理員的使用者個人化共用的控制項。
Web 組件基本功能
Web 組件控制項集合包含三個主要的建置組塊 (Building Blocks):個人化、使用者介面 (UI) 結構元件,以及實際的 Web 組件 UI 控制項。如需詳細資訊,請參閱 Web 組件控制項集合概觀。您大部分的開發力量會投注在 Web 組件控制項上,這些控制項就是可以使用 Web 組件控制項集合之功能的 ASP.NET 控制項。
如需如何使用 Web 組件控制項來建置個人化 Web 網頁的範例,請檢視下列螢幕擷取畫面。
一般 Web 組件頁面
這個頁面包含 Web 組件應用程式的幾個基本項目:
在頁面配置上使用區域。可以包含控制項的資料行有兩個:一個含有天氣和股市報價控制項,另一個含有 Hotmail 和新聞控制項。在 Web 組件用語中,這些資料行稱為區域,也就是頁面上包含 Web 組件控制項的區域。區域的用途是在頁面上配置 Web 組件控制項,並提供控制項的一般 UI。頁面上可以有一或多個區域,每個區域可包含一或多個 Web 組件控制項,且每個區域可採用水平或垂直方向的版面配置。
區域內的 Web 組件控制項。每個控制項都有 UI 動作 (使用者可以執行的動作),這些動作可以在控制項上顯示為連結、按鈕或可按式影像。在先前的螢幕擷取畫面中,請注意每個控制項的標題列中,都有一個公開 (Expose) 下拉式功能表 (Drop-Down Menu) 的按鈕。在每個控制項的功能表中,包含變更該控制項之特有細節的選項,以及執行移動控制項、刪除控制項或取得協助等一般動作的其他選項。某些控制項 (例如天氣控制項) 可讓使用者進行個人化,使控制項只顯示與使用者相關的資訊。
啟用擴充個人化的連結。這些連結可讓使用者變更頁面的內容、色彩和配置。例如,如果使用者按一下 [加入資料行] 連結,Web 組件應用程式便會讓使用者在頁面中加入另一個資料行。使用者也可以按一下 [加入內容] 連結,便會顯示可以選擇加入頁面中之控制項的目錄。其中一個可能是股票圖表控制項,使用者可以將該控制項加入頁面上的其中一個區域,然後便能將其連接到現有的股市報價控制項,以圖表顯示股市報價控制項所含的股票資料。
使用 Web 組件的開發人員案例
您通常會透過下列三種方式使用 Web 組件:建立使用 Web 組件控制項的頁面、建立個別的 Web 組件控制項,或是建立完整、可個人化的 Web 應用程式,例如入口網站。
頁面開發
頁面開發人員可以使用如 Microsoft Visual Studio 2005 的視覺化設計工具,建立使用 Web 組件的頁面。使用 Visual Studio 等工具的優點之一,是 Web 組件控制項集合會提供在視覺化設計工具中拖放建立和設定 Web 組件控制項的功能。例如,您可以使用設計工具,將 Web 組件區域或 Web 組件編輯器控制項拖曳至設計介面上,然後使用 Web 組件控制項集合所提供的 UI,直接在設計工具中設定控制項。這可加速 Web 組件應用程式的開發,並減少必須撰寫的程式碼數量。
控制項開發
您可以使用任何現有的 ASP.NET 控制項做為 Web 組件控制項,包括標準 Web 伺服器控制項、自訂伺服器控制項,以及使用者控制項。為了對您的環境擁有最大的程式設計控制,您也可以建立衍生自 WebPart 類別的自訂 Web 組件控制項。如果進行個別 Web 組件控制項開發,通常會建立使用者控制項並用它來做為 Web 組件控制項,或是開發自訂 Web 組件控制項。
例如,在開發自訂 Web 組件控制項時,您可以建立包含其他 ASP.NET 伺服器控制項所提供之任何功能的控制項,這些功能可以封裝為實用的可個人化 Web 組件控制項,例如:日曆、清單、金融資訊、新聞、計算機、用於更新內容的 Rich Text 控制項、連接到資料庫之可編輯的方格、動態更新其顯示的圖表,或是天氣和旅遊資訊。如果您在控制項中提供視覺化設計工具,則任何使用 Visual Studio 的頁面開發人員只要將控制項拖曳至 Web 組件區域中,便能在設計階段設定該控制項,而不需要撰寫額外的程式碼。
Web 應用程式開發
開發完全整合且可個人化的 Web 應用程式 (例如入口網站) 需要全面性利用 Web 組件。您可以開發一個網站,讓使用者能利用類似 MSN 中的功能,廣泛地個人化 UI 和內容。或者,您可以開發一個封裝應用程式,讓提供入口網站主機服務的公司或收費制 ISP 來寄送和使用。
在 Web 應用程式案例中,您應該提供完整方案給管理和個人化應用程式的使用者。這個方案可包括:一組 Web 組件控制項,其可提供網站的所需功能;一致的主題和樣式集合,可讓使用者以一致的方式個人化 UI;Web 組件控制項的目錄,使用者可從該目錄中選取要顯示在頁面上的控制項;驗證 (Authentication) 服務;以及以角色為基礎的管理 (例如,可讓管理使用者為所有使用者個人化 Web 組件控制項和網站設定)。
針對應用程式的每個部分,您可以視需要擴充 Web 組件控制項集合,以提供對環境的更多控制。例如,除了針對網頁之主要 UI 撰寫自訂 Web 組件控制項外,您也可以開發與應用程式之外觀及操作一致的自訂 Web 組件目錄,讓使用者有更大的彈性來選擇如何將控制項加入至頁面。或者,您可以擴充區域控制項,為其所含之 Web 組件控制項提供額外的 UI 選項。您也可以撰寫自訂個人化提供者,以便在如何儲存和管理個人化資料上提供更多的彈性和控制。
請參閱
工作
逐步解說:在 Visual Web Developer 中建立 Web 組件頁面