次の方法で共有


サーバー コントロール インライン テンプレート構文

テンプレートをサポートする ASP.NET サーバー コントロールに含まれるコンテンツと、その配置とスタイルを指定します。

<templatename>
      Server control, data-binding syntax, other valid markup
</templatename>

マークアップ タグ

  • templatename
    ASP.NET サーバー コントロール テンプレートの名前。

解説

ASP.NET サーバー コントロールに表示するコンテンツの配置とスタイルの指定に、テンプレートを使用できます。ページを開発する際、インライン テンプレート構文はテンプレートを使用する便利な方法です。これを使用すると、コントロールのコンテンツの配置やスタイルを、プログラムによってではなく、簡単な宣言構文を使用してデザインできます。インライン テンプレートは、サーバー コントロールの開始タグと終了タグの間に宣言し、含まれるコンテンツ、コンテンツの配置、およびコンテンツに適用されるスタイルを指定できます。

数多くの ASP.NET Web サーバー コントロールがテンプレートをサポートしています (たとえば、RepeaterDataListGridviewMultiViewLoginView、および Menu の各コントロールがどれもテンプレートをサポートしている他、WebPartZoneCatalogZone などの Web パーツ ゾーン コントロールもサポートしています)。コントロール用に実際に宣言できるテンプレートは、そのクラスのソース コードにおいてコントロール用に明示的に定義されたテンプレートだけです。

テンプレート項目は、それをサポートするサーバー コントロールの子要素として宣言する必要があります。サーバー コントロールには、同時に複数のテンプレート項目を含めることかでき、各テンプレートをコントロールの異なるセクションの特性を指定するために使用できます。たとえば、Repeater コントロールは、ヘッダー セクション、本文または項目セクション、およびフッター セクションに含まれるコンテンツのレイアウトと外観を指定するテンプレートをサポートしている他、交互の項目のスタイルや項目間の区切り文字のスタイルを処理する特別なテンプレートをサポートしています。詳細については、このトピックのコード例を参照してください。

テンプレートでのコンテンツの表示方法を指定するには、テンプレート タグに追加要素を宣言します。追加マークアップの作成には、HTML タグ、ASP.NET コントロール、およびインライン サーバー側式またはコード ブロックを使用できます。インライン テンプレートを使用する方法の詳細については、「ASP.NET Web サーバー コントロール テンプレート」を参照してください。

カスタム サーバー コントロールを開発するときに、独自のテンプレートを定義することもできます。インライン スタイル テンプレートを定義および使用するコントロールの開発方法の詳細については、「How to: Develop Templated Controls」を参照してください。

使用例

HeaderTemplateAlternatingItemTemplateItemTemplateFooterTemplate の各テンプレートを Repeater Web サーバー コントロールに宣言する方法を次のコード例に示します。これらのテンプレートは、Repeater クラスのプロパティに関連付けられています。

<%@ Page Language="C#" %>
<html>
 <head>
    <script language="C#" runat="server">
       void Page_Load(Object Sender, EventArgs e) {
 
          if (!IsPostBack) {
             ArrayList values = new ArrayList();
 
             values.Add("Apple");
             values.Add("Orange");
             values.Add("Pear");
             values.Add("Banana");
             values.Add("Grape");
 
             Repeater1.DataSource = values;
             Repeater1.DataBind();
          }
       }
    </script>
 
 </head>
 <body>
 
    <h3><font face="Verdana">Repeater Example</font></h3>
 
    <form runat=server>
 
       <b>Repeater1:</b>
       <p>
         
       <asp:Repeater id=Repeater1 runat="server">
             
             
          <HeaderTemplate>
             <table border=1>
          </HeaderTemplate>
 
          <AlternatingItemTemplate>
             <tr>
                <td><b> <%# Container.DataItem %> </b> </td>
             </tr>
          </AlternatingItemTemplate>
 
          <ItemTemplate>
             <tr>
                <td> <%# Container.DataItem %> </td>
             </tr>
          </ItemTemplate>
 
          <FooterTemplate>
             </table>

          </FooterTemplate>
             
       </asp:Repeater>
       <p>
         
    </form>
 </body>
 </html>
<%@ Page Language="VB" %> 
<html>
<head>
<script language="VB" runat="server">

        Sub Page_Load(Sender As Object, e As EventArgs)
            
            If Not IsPostBack Then
                Dim values As New ArrayList()
                
                values.Add("Apple")
                values.Add("Orange")
                values.Add("Pear")
                values.Add("Banana")
                values.Add("Grape")
                
                Repeater1.DataSource = values
                Repeater1.DataBind()
            End If
        End Sub
</script>
 
 </head>
 <body>
 
    <h3><font face="Verdana">Repeater Example</font></h3>
 
    <form runat=server>
 
       <b>Repeater1:</b>
       <p>
         
       <asp:Repeater id=Repeater1 runat="server">
             
             
          <HeaderTemplate>
             <table border=1>
          </HeaderTemplate>
 
          <AlternatingItemTemplate>
             <tr>
                <td><b> <%# Container.DataItem %> </b> </td>
             </tr>
          </AlternatingItemTemplate>
 
          <ItemTemplate>
             <tr>
                <td> <%# Container.DataItem %> </td>
             </tr>
          </ItemTemplate>
 
          <FooterTemplate>
             </table>

          </FooterTemplate>
             
       </asp:Repeater>
       <p>
         
    </form>
 </body>
 </html>    

参照

関連項目

カスタム サーバー コントロール構文

概念

ASP.NET Web ページの構文の概要

その他の技術情報

How to: Develop Templated Controls