共用方式為


複合控制項

更新:2007 年 11 月

ASP.NET 和 ASP.NET Mobile 控制項都讓您能夠組合現有的控制項以撰寫新的控制項。例如,如果您想要將數個行動控制項封裝至一個控制項,您就可建立複合行動控制項。您可以將複合控制項 (Composite Control) 建立成 .ascx 檔中的使用者控制項 (User Control),或是完全包含在 .dll 中的自訂控制項。

語言獨立性

您必須以單一語言 (例如 C# 或 Visual Basic) 撰寫使用者控制項。當建立複合控制項時,您可以結合以不同語言建立的多個控制項。例如,您可以結合在使用者控制項中所描述之 C# CarControl 範例,以及用 Visual Basic 撰寫且可依據指定特性來清查所有汽車的新控制項。

一般撰寫

複合控制項可以繼承自任何控制項類別,其中包括 Mobile Web 網頁 MobileControl 基底類別 (Base Class),或是 Mobile Web 網頁 Panel 控制項類別。如需繼承 (Inheritance) 的詳細資訊,請參閱使用繼承擴充功能

MobileControlPanel 類別的配接器 (Adapter) 會自動呈現所有子控制項,進而提供複合控制項的必要配接器支援。如果您的複合控制項是繼承自任何其他行動控制項,您就必須提供呈現子控制項的配接器。

在 Mobile Web 網頁上使用複合控制項

在建立複合行動控制項之後,您就可以依照下列方式在 Mobile Web 網頁上使用該控制項:

  • 如果控制項是使用者控制項,請以 @ Register 指示詞在網頁上註冊標記 (Tag) 前置詞、標記名稱和 .ascx 檔,如下列範例所示:

    <%@ Register TagPrefix="myCompany" TagName="CarControl" Src="~/CarControl.ascx" %>

  • 如果控制項是自訂控制項,請使用 @ Register 指示詞的不同語法,在網頁上註冊標記前置詞和組件 (Assembly):

    <%@ Register TagPrefix="myComany" Namespace="company.MobileControls" Assembly="company.MobileControls" %>

您可以依此範例所示針對此網頁,以宣告的方式將控制項撰寫到網頁中:

<myCompany:CarControl id="myCarCtl" />

請參閱

概念

使用者控制項

裝置的特定撰寫方式

撰寫您自己的 Mobile Web 控制項

其他資源

建立自訂的行動控制項