サーバー コントロール インライン テンプレート構文
更新 : 2007 年 11 月
テンプレートをサポートする ASP.NET サーバー コントロールに含まれるコンテンツと、その配置とスタイルを指定します。
<templatename>
Server control, data-binding syntax, other valid markup
</templatename>
マークアップ タグ
- templatename
ASP.NET サーバー コントロール テンプレートの名前。
解説
ASP.NET サーバー コントロールに表示するコンテンツの配置とスタイルの指定に、テンプレートを使用できます。インライン テンプレート構文はテンプレートを使用する便利な方法です。これを使用すると、コントロールのコンテンツの配置やスタイルを、プログラムによってではなく、簡単な宣言構文を使用してデザインできます。
数多くの ASP.NET Web サーバー コントロールがテンプレートをサポートしています (たとえば、Repeater、DataList、GridView、FormView、MultiView、LoginView、および Menu の各コントロールがどれもテンプレートをサポートしているほか、WebPartZone や CatalogZone などの Web パーツ ゾーン コントロールもサポートしています)。実際にコントロール用に宣言できるのは、そのコントロール用に定義したテンプレートのみであることに注意してください。
テンプレート項目は、それをサポートするサーバー コントロールの子要素として宣言する必要があります。サーバー コントロールには、複数のテンプレート項目を含めることかでき、各テンプレートをコントロールの異なるコンテンツの特性を指定するために使用できます。たとえば、Repeater コントロールは、ヘッダー セクション、本文または項目セクション、およびフッター セクションに含まれるコンテンツのレイアウトと外観を指定するテンプレートをサポートしている他、交互の項目のスタイルや項目間の区切り文字のスタイルを処理する特別なテンプレートをサポートしています。詳細については、このトピックのコード例を参照してください。
テンプレートでのコンテンツの表示方法を指定するには、テンプレート タグに追加要素を宣言します。追加マークアップの作成には、HTML タグ、ASP.NET コントロール、およびインライン サーバー側式またはコード ブロックを使用できます。インライン テンプレートを使用する方法の詳細については、「ASP.NET Web サーバー コントロール テンプレート」を参照してください。
カスタム サーバー コントロールを開発するときに、独自のテンプレートを定義できます。インライン スタイル テンプレートを定義および使用するコントロールの開発方法の詳細については、「方法 : template 宣言された ASP.NET ユーザー コントロールを作成する」を参照してください。
使用例
HeaderTemplate、AlternatingItemTemplate、ItemTemplate、FooterTemplate の各テンプレートを 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>
参照
処理手順
方法 : template 宣言された ASP.NET ユーザー コントロールを作成する