Web フォーム ページへのユーザー コントロールの取り込み
ユーザー コントロールが機能するのは、Web フォーム ページの中に含まれている場合に限られます。あるページに対する要求を受信したときに、そのページにユーザー コントロールが含まれる場合は、すべての ASP.NET サーバー コントロールに対して行われる処理が、そのユーザー コントロールに対しても適用されます。これらの処理の詳細については、「Web フォーム ページの処理」を参照してください。
ユーザー コントロールを Web フォーム ページに含めるのは簡単です。
ユーザー コントロールを Web フォーム ページに含めるには
ユーザー コントロールを含める Web フォーム ページの中で、次の属性を含む @ Register ディレクティブを宣言します。
tagprefix 属性。プリフィックスとユーザー コントロールを関連付けます。このプリフィックスは、ユーザー コントロール要素の開始タグの中に含まれます。
tagname 属性。名前とユーザー コントロールを関連付けます。この名前は、ユーザー コントロール要素の開始タグの中に含まれます。
Src 属性。Web フォーム ページに含めようとしているユーザー コントロール ファイルへの仮想パスを定義します。
メモ Src 属性値は、アプリケーションのルート ディレクトリからユーザー コントロール ソース ファイルまでの相対パスまたは絶対パスのどちらでもかまいません。相対パスを指定する方が簡単です。ティルダ (~) 文字は、アプリケーションのルート ディレクトリを表します。
たとえば、ファイル
Login1.ascx
で定義されているユーザー コントロールを登録するコードを次に示します。このコントロールには、タグ プリフィックスAcme
とタグ名Login
が割り当てられています。このファイルはControls
ディレクトリにあります。<%@ Register TagPrefix="Acme" TagName="Login" Src="~\controls\login1.ascx" %>
カスタム サーバー コントロールの構文を使用して、HtmlForm サーバー コントロールの開始タグと終了タグの間にユーザー コントロール要素を宣言します (
<form runat=server></form>
)。たとえば、前の手順でインポートしたコントロールを宣言するには、次の構文を使用します。<html> <body> <form runat="server"> <Acme:Login id="MyLogin" runat="server"/> </form> </body> </html>
メモ Web フォーム ページに含める ASP.NET サーバー コントロール (ユーザー コントロールなど) の個数とは関係なく、Web フォーム ページには HtmlForm サーバー コントロールを 1 つだけ含める必要があります。このコントロールの開始タグと終了タグの間に、すべてのサーバー コントロールを含めます。
参照
Web フォーム ユーザー コントロール | ユーザー コントロールの作成 | Windows フォーム ページのサーバー イベント処理 | ユーザー コントロール イベントの処理