複合コントロール

更新 : 2007 年 11 月

ASP.NET と ASP.NET モバイル コントロールは、どちらも既存のコントロールを結合して新しいコントロールを作成できるようになっています。たとえば、いくつかのモバイル コントロールを 1 つのコントロールにカプセル化する場合は、複合モバイル コントロールを作成できます。複合コントロールは、.ascx ファイル内のユーザー コントロールとして作成するか、.dll に完全に組み込まれるカスタム コントロールとして作成できます。

言語への非依存性

ユーザー コントロールは、C# や Visual Basic などの単一の言語で作成する必要があります。複合コントロールを作成するときに、異なる言語で作成されたコントロールを結合できます。たとえば、「ユーザー コントロール」の例にある C# で作成された CarControl を、Visual Basic で作成された、指定の特性を持つすべての車の一覧を作成する新しいコントロールと結合できます。

一般的な合成

複合コントロールは、モバイル Web ページの MobileControl 基本クラスを含めた任意のコントロール クラス、またはモバイル Web ページの Panel コントロール クラスから継承できます。継承の詳細については、「継承による機能の拡張」を参照してください。

MobileControl クラスおよび Panel クラスのアダプタによってすべての子コントロールが自動的にレンダリングされることで、複合コントロールに必要なアダプタ サポートが提供されます。複合コントロールが他のモバイル コントロールから継承している場合は、その子コントロールをレンダリングするアダプタを用意する必要があります。

モバイル Web ページでの複合コントロールの使用

複合モバイル コントロールを作成したら、以下の方法でそのコントロールをモバイル Web ページで使用できます。

  • コントロールがユーザー コントロールである場合は、以下の例に示すように、ページ上のタグ プレフィックス、タグ名、および .ascx ファイルを @ Register ディレクティブに登録します。

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

  • コントロールがカスタム コントロールである場合は、ページ上のタグ プレフィックスとアセンブリを、@ Register ディレクティブの別の構文を使用して登録します。

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

ページ内では、次の例に示すように、宣言によってコントロールを作成してページに挿入できます。

<myCompany:CarControl id="myCarCtl" runat="server" />

参照

概念

ユーザー コントロール

デバイス固有の構成

独自のモバイル Web コントロールの新規作成

その他の技術情報

カスタム モバイル コントロールの作成