メインコンテンツへジャンプ
ASP.NETのTips満載!
ホーム > チュートリアル > ユーザ・コントロール(「.ascx」ファイル)を利用する

チュートリアル

文責:山田祥寛最終更新日:2005年06月15日

ユーザ・コントロール(「.ascx」ファイル)を利用する

キャラクターイラスト

ユーザ・コントロールは、ASP.NETページ(「.aspx」ファイル)から利用可能なコントロール部品で、拡張子「.ascx」の形式で提供されます。HTMLのようなタグの形式で記述できることから、ASP.NET(というか、プログラム)を一切知らない人間でも簡単に利用できるのが特長です。「.ascx」ファイルは、利用側のASP.NETページ(「.aspx」ファイル)と同一のフォルダに配置してください。

ユーザ・コントロールの利用例

本稿では、ユーザ・コントロールの簡単な利用例を示します。

ユーザ・コントロールは単なる部品ですので、ただサーバに配置しただけでは動作しません。自分でユーザ・コントロールを呼び出すための「.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はとても単純な例ですが、ユーザ・コントロールを利用するための重要なポイントを含んでいます。

  1. @Registerディレクティヴ(命令)で「.ascx」ファイルを読み込む
  2. ユーザ・コントロールを利用するには、<%@ Register ~%>でユーザ・コントロール(「.ascx」ファイル)を読み込む(呼び出す)必要があります。この記述は、ユーザ・コントロールを利用するすべての「.aspx」ファイルで行わなければなりません。

    @Register命令では、タグの属性のような形式で、以下のパラメータを設定することができます。

    @Register命令で指定しなければならないパラメータ
    パラメータ意味
    Tagprefixタグの接頭辞(<x:name>の「x」に当たる部分)。WebDeliが提供するツールでは、共通して「Wings」を指定してください
    TagNameタグ名(<x:name>の「name」に当たる部分)。ツールに依存します。ツール個別の紹介ページを参照してください
    Src「.ascx」ファイルの名前(パス)。提供ツールごとに異なります

    このように書いてしまうと難しく聞こえるかもしれませんが、ここはおまじないのようなものだと思って戴いても構いません。ツールを利用する場合には、ツール個別の紹介ページに記述されている@Register命令をそのままコピーして使用すればOKです。

  3. ユーザ・コントロールはタグの形式で指定できる
  4. [1]の@Register命令は、あくまで「ユーザ・コントロールを現在のASP.NETページ上で利用するための準備」を行っているにすぎません。実際に、ユーザ・コントロールを呼び出しているのは、<Wings:~>で始まるタグ形式の命令です。

    ユーザ・コントロールの一般的な記述は、以下の通りです。XMLの形式に則って、タグは「~/>」で閉じる、属性値はダブルクォーテーションで囲むなどを守ってください。

    <接頭辞:タグ名 id="名前" runat="Server" [オプション...] />

    「接頭辞」と「タグ名」は、[1]の@Register命令で記述したTagprefix、TagName属性に対応している必要があります(繰り返しですが、接頭辞はWebDeli提供ツールでは固定値で「Wings」です)。id属性は、ユーザ・コントロールを一意に識別するための名前です。名前は自由に命名することができますが、同一の「.aspx」ファイル内に同一の名前が複数あってはいけません。runat属性は、このタグがユーザ・コントロールであることを表すためのものです。「runat="Server"」はいかなる場合も固定値であると思っておいてください。

    オプションは、ユーザ・コントロールの見栄えや挙動を制御するためのパラメータです。ツールによって利用可能なオプションは異なりますので、詳細は個別のツール紹介ページを参照してください。必須のオプションは必ず指定しなければなりません。

ご意見をお聞かせください

本ページでご紹介している記事について、皆様からのフィードバックをお待ちしています。

 
 
Y.Yamada 拙著ご愛読ありがとうございます。 確かにこうした分野は、なかなか順序だった学習は難しいと思います。 が、まずは1~2冊良い本で基礎を学習し、あとは実際に自分でコードを組みながら、サイトの資料などで必要な事項を調べていくだけでもかなり包括的な学習ができると思います。 難しいとは思いますが、がんばってください。 2005.10.07 13:44
marchan 独習ASP.NETを購入、熟読していますが、なかなかです。 でも、一緒の内容でもこのように説明頂ければ、関連付けられて判り易いです。 専門的な学習もしたいのですが、どのような場所で、どのような順序で学習した方が良いのかも、まだ良くわかりません。 どうか最初から順序立て、関連付けて教え頂ければ嬉しいですが・・・ どうぞよろしくお願いします。 2005.10.07 07:50
コンテンツの終わりです。