チュートリアル
文責:山田祥寛最終更新日:2005年06月15日
ユーザ・コントロール(「.ascx」ファイル)を利用する
ユーザ・コントロールの利用例
本稿では、ユーザ・コントロールの簡単な利用例を示します。
ユーザ・コントロールは単なる部品ですので、ただサーバに配置しただけでは動作しません。自分でユーザ・コントロールを呼び出すための「.aspx」ファイルを用意する必要があります。
[sample.aspx]
<%@ Register Tagprefix="Wings" TagName="SourceShow"
Src="SourceShow.ascx" %>
<Wings:SourceShow id="source" runat="Server"
FilePath="SourceShow.ascx" FileEncoding="Shift_JIS"
ForeColor="White" BgColor="Black" />
実行結果
いかがですか?ちょっと見覚えのないタグが含まれているかもしれませんが、プログラム・コードはいっさい含まれていないことがお分かりになるはずです。ユーザ・コントロールを利用することで、これだけリッチなアプリケーションがプログラムなしに構築できてしまうのです。
それでは、「.aspx」ファイルに含まれている「見覚えのないタグ」について、紹介していくことにしましょう。
ユーザ・コントロールを利用するためのポイント
上記のsample.aspxはとても単純な例ですが、ユーザ・コントロールを利用するための重要なポイントを含んでいます。
- @Registerディレクティヴ(命令)で「.ascx」ファイルを読み込む
ユーザ・コントロールを利用するには、<%@ Register ~%>でユーザ・コントロール(「.ascx」ファイル)を読み込む(呼び出す)必要があります。この記述は、ユーザ・コントロールを利用するすべての「.aspx」ファイルで行わなければなりません。
@Register命令では、タグの属性のような形式で、以下のパラメータを設定することができます。
@Register命令で指定しなければならないパラメータ
パラメータ | 意味 |
Tagprefix | タグの接頭辞(<x:name>の「x」に当たる部分)。WebDeliが提供するツールでは、共通して「Wings」を指定してください |
TagName | タグ名(<x:name>の「name」に当たる部分)。ツールに依存します。ツール個別の紹介ページを参照してください |
Src | 「.ascx」ファイルの名前(パス)。提供ツールごとに異なります |
このように書いてしまうと難しく聞こえるかもしれませんが、ここはおまじないのようなものだと思って戴いても構いません。ツールを利用する場合には、ツール個別の紹介ページに記述されている@Register命令をそのままコピーして使用すればOKです。
- ユーザ・コントロールはタグの形式で指定できる
[1]の@Register命令は、あくまで「ユーザ・コントロールを現在のASP.NETページ上で利用するための準備」を行っているにすぎません。実際に、ユーザ・コントロールを呼び出しているのは、<Wings:~>で始まるタグ形式の命令です。
ユーザ・コントロールの一般的な記述は、以下の通りです。XMLの形式に則って、タグは「~/>」で閉じる、属性値はダブルクォーテーションで囲むなどを守ってください。
<接頭辞:タグ名 id="名前" runat="Server" [オプション...] />
「接頭辞」と「タグ名」は、[1]の@Register命令で記述したTagprefix、TagName属性に対応している必要があります(繰り返しですが、接頭辞はWebDeli提供ツールでは固定値で「Wings」です)。id属性は、ユーザ・コントロールを一意に識別するための名前です。名前は自由に命名することができますが、同一の「.aspx」ファイル内に同一の名前が複数あってはいけません。runat属性は、このタグがユーザ・コントロールであることを表すためのものです。「runat="Server"」はいかなる場合も固定値であると思っておいてください。
オプションは、ユーザ・コントロールの見栄えや挙動を制御するためのパラメータです。ツールによって利用可能なオプションは異なりますので、詳細は個別のツール紹介ページを参照してください。必須のオプションは必ず指定しなければなりません。