DataList.ItemTemplate プロパティ
アセンブリ: System.Web (system.web.dll 内)

<TemplateContainerAttribute(GetType(DataListItem))> _ Public Overridable Property ItemTemplate As ITemplate
Dim instance As DataList Dim value As ITemplate value = instance.ItemTemplate instance.ItemTemplate = value
[TemplateContainerAttribute(typeof(DataListItem))] public virtual ITemplate ItemTemplate { get; set; }
[TemplateContainerAttribute(typeof(DataListItem))] public: virtual property ITemplate^ ItemTemplate { ITemplate^ get (); void set (ITemplate^ value); }
/** @property */ public ITemplate get_ItemTemplate () /** @property */ public void set_ItemTemplate (ITemplate value)
public function get ItemTemplate () : ITemplate public function set ItemTemplate (value : ITemplate)
DataList コントロールの項目のテンプレートを格納している System.Web.UI.ITemplate。既定値は null 参照 (Visual Basic では Nothing) です。

ItemTemplate プロパティを使用して、DataList コントロールの項目の内容を制御します。DataList コントロールの項目の外観は、ItemStyle プロパティによって制御します。
DataList コントロールの項目のテンプレートを指定するには、<ItemTemplate> タグを DataList コントロールの開始タグと終了タグの間に配置します。その後、<ItemTemplate> の開始タグと終了タグの間に、テンプレートの内容のリストを記述できます。
AlternatingItemTemplate プロパティを使用して、DataList コントロールの交互の項目に異なる外観を指定することもできます。
![]() |
---|
このコントロールは、ユーザー入力を表示するために使用できます。ユーザー入力には悪意のあるクライアント スクリプトが含まれている可能性があります。アプリケーションに表示する前に、クライアントから送信された実行スクリプト、SQL ステートメントなどのコードの情報はすべて検証してください。入力テキストをコントロールに表示する前に、検証コントロールを使用してユーザー入力を検証できます。ASP.NET には入力要求の検証機能があり、ユーザー入力の中のスクリプトおよび HTML をブロックできます。詳細については、「標準コントロールのセキュリティ保護」、「方法 : HTML エンコーディングを文字列に適用して Web アプリケーションをスクリプトによる攻略から保護する」、および「ASP.NET Web ページにおけるユーザー入力の検証」を参照してください。 |
Topic | Location |
---|---|
方法 : ASP.NET Web サーバー コントロールのテンプレートを作成する | ASP .NET Web アプリケーションの作成 |
方法 : ASP.NET Web サーバー コントロールのテンプレートを宣言によって作成する | ASP .NET Web アプリケーションの作成 |
方法 : DataList 項目、Repeater 項目、または GridView 項目のボタン イベントに応答する | ASP .NET Web アプリケーションの作成 |
方法 : ユーザーが DataList Web サーバー コントロール内の項目を削除できるようにする | ASP .NET Web アプリケーションの作成 |

ItemTemplate プロパティを使用して、DataList コントロールの項目の内容を制御する方法のコード例を次に示します。
![]() |
---|
次のコード サンプルはシングルファイル コード モデルを使用しており、分離コード ファイルに直接コピーされた場合は正常に動作しない可能性があります。このコード サンプルは、拡張子が .aspx の空のテキスト ファイルにコピーする必要があります。Web フォームのコード モデルの詳細については、「ASP.NET Web ページのコード モデル」を参照してください。 |
<%@ Page Language="VB" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <script runat="server"> Function CreateDataSource() As ICollection ' Create sample data for the DataList control. Dim dt As DataTable = New DataTable() dim dr As DataRow ' Define the columns of the table. dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32))) dt.Columns.Add(New DataColumn("StringValue", GetType(String))) dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double))) dt.Columns.Add(New DataColumn("ImageValue", GetType(String))) ' Populate the table with sample values. Dim i As Integer For i = 0 To 8 dr = dt.NewRow() dr(0) = i dr(1) = "Description for item " & i.ToString() dr(2) = 1.23 * (i + 1) dr(3) = "Image" & i.ToString() & ".jpg" dt.Rows.Add(dr) Next i Dim dv As DataView = New DataView(dt) Return dv End Function Sub Page_Load(sender As Object, e As EventArgs) ' Load sample data only once, when the page is first loaded. If Not IsPostBack Then ItemsList.DataSource = CreateDataSource() ItemsList.DataBind() End If End Sub Sub Button_Click(sender As Object, e As EventArgs) ' Set the repeat direction based on the selected value of the ' DirectionList DropDownList control. ItemsList.RepeatDirection = _ CType(DirectionList.SelectedIndex, RepeatDirection) ' Set the repeat layout based on the selected value of the ' LayoutList DropDownList control. ItemsList.RepeatLayout = CType(LayoutList.SelectedIndex, RepeatLayout) ' Set the number of columns to display based on the selected ' value of the ColumnsList DropDownList control. ItemsList.RepeatColumns = ColumnsList.SelectedIndex ' Show or hide the gridlines based on the value of the ' ShowBorderCheckBox. Note that gridlines are displayed ' only if the RepeatLayout property is set to Table. If ShowBorderCheckBox.Checked _ And ItemsList.RepeatLayout = RepeatLayout.Table Then ItemsList.BorderWidth = Unit.Pixel(1) ItemsList.GridLines = GridLines.Both Else ItemsList.BorderWidth = Unit.Pixel(0) ItemsList.GridLines = GridLines.None End If End Sub </script> <body> <form runat=server> <h3>DataList Example</h3> <asp:DataList id="ItemsList" BorderColor="black" CellPadding="5" CellSpacing="5" RepeatDirection="Vertical" RepeatLayout="Table" RepeatColumns="0" ShowBorder="False" runat="server"> <HeaderStyle BackColor="#aaaadd"> </HeaderStyle> <AlternatingItemStyle BackColor="Gainsboro"> </AlternatingItemStyle> <HeaderTemplate> List of items </HeaderTemplate> <ItemTemplate> Description: <br> <%# DataBinder.Eval(Container.DataItem, "StringValue") %> <br> Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %> <br> <asp:Image id="ProductImage" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>' runat="server"/> </ItemTemplate> </asp:DataList> <hr> <table cellpadding="5"> <tr> <td> Repeat direction: <td> <td> Repeat layout: <td> <td> Repeat columns: <td> <td> <asp:CheckBox id="ShowBorderCheckBox" Text="Show border" Checked="False" runat="server" /> <td> </tr> <tr> <td> <asp:DropDownList id="DirectionList" runat="server"> <asp:ListItem>Horizontal</asp:ListItem> <asp:ListItem Selected="True">Vertical</asp:ListItem> </asp:DropDownList> <td> <td> <asp:DropDownList id="LayoutList" runat="server"> <asp:ListItem Selected="True">Table</asp:ListItem> <asp:ListItem>Flow</asp:ListItem> </asp:DropDownList> <td> <td> <asp:DropDownList id="ColumnsList" runat="server"> <asp:ListItem Selected="True">0</asp:ListItem> <asp:ListItem>1</asp:ListItem> <asp:ListItem>2</asp:ListItem> <asp:ListItem>3</asp:ListItem> <asp:ListItem>4</asp:ListItem> <asp:ListItem>5</asp:ListItem> </asp:DropDownList> <td> <td> <td> </tr> </table> <asp:LinkButton id="RefreshButton" Text="Refresh DataList" OnClick="Button_Click" runat="server"/> </form> </body> </html>
<%@ Page Language="C#" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <script runat="server"> ICollection CreateDataSource() { // Create sample data for the DataList control. DataTable dt = new DataTable(); DataRow dr; // Define the columns of the table. dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32))); dt.Columns.Add(new DataColumn("StringValue", typeof(String))); dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double))); dt.Columns.Add(new DataColumn("ImageValue", typeof(String))); // Populate the table with sample values. for (int i = 0; i < 9; i++) { dr = dt.NewRow(); dr[0] = i; dr[1] = "Description for item " + i.ToString(); dr[2] = 1.23 * (i + 1); dr[3] = "Image" + i.ToString() + ".jpg"; dt.Rows.Add(dr); } DataView dv = new DataView(dt); return dv; } void Page_Load(Object sender, EventArgs e) { // Load sample data only once, when the page is first loaded. if (!IsPostBack) { ItemsList.DataSource = CreateDataSource(); ItemsList.DataBind(); } } void Button_Click(Object sender, EventArgs e) { // Set the repeat direction based on the selected value of the // DirectionList DropDownList control. ItemsList.RepeatDirection = (RepeatDirection)DirectionList.SelectedIndex; // Set the repeat layout based on the selected value of the // LayoutList DropDownList control. ItemsList.RepeatLayout = (RepeatLayout)LayoutList.SelectedIndex; // Set the number of columns to display based on the selected // value of the ColumnsList DropDownList control. ItemsList.RepeatColumns = ColumnsList.SelectedIndex; // Show or hide the gridlines based on the value of the // ShowBorderCheckBox property. Note that gridlines are displayed // only if the RepeatLayout property is set to Table. if ((ShowBorderCheckBox.Checked) && (ItemsList.RepeatLayout == RepeatLayout.Table)) { ItemsList.BorderWidth = Unit.Pixel(1); ItemsList.GridLines = GridLines.Both; } else { ItemsList.BorderWidth = Unit.Pixel(0); ItemsList.GridLines = GridLines.None; } } </script> <body> <form runat=server> <h3>DataList Example</h3> <asp:DataList id="ItemsList" BorderColor="black" CellPadding="5" CellSpacing="5" RepeatDirection="Vertical" RepeatLayout="Table" RepeatColumns="0" ShowBorder="False" runat="server"> <HeaderStyle BackColor="#aaaadd"> </HeaderStyle> <AlternatingItemStyle BackColor="Gainsboro"> </AlternatingItemStyle> <HeaderTemplate> List of items </HeaderTemplate> <ItemTemplate> Description: <br> <%# DataBinder.Eval(Container.DataItem, "StringValue") %> <br> Price: <%# DataBinder.Eval(Container.DataItem, "CurrencyValue", "{0:c}") %> <br> <asp:Image id="ProductImage" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageValue") %>' runat="server"/> </ItemTemplate> </asp:DataList> <hr> <table cellpadding="5"> <tr> <td> Repeat direction: <td> <td> Repeat layout: <td> <td> Repeat columns: <td> <td> <asp:CheckBox id="ShowBorderCheckBox" Text="Show border" Checked="False" runat="server" /> <td> </tr> <tr> <td> <asp:DropDownList id="DirectionList" runat="server"> <asp:ListItem>Horizontal</asp:ListItem> <asp:ListItem Selected="True">Vertical</asp:ListItem> </asp:DropDownList> <td> <td> <asp:DropDownList id="LayoutList" runat="server"> <asp:ListItem Selected="True">Table</asp:ListItem> <asp:ListItem>Flow</asp:ListItem> </asp:DropDownList> <td> <td> <asp:DropDownList id="ColumnsList" runat="server"> <asp:ListItem Selected="True">0</asp:ListItem> <asp:ListItem>1</asp:ListItem> <asp:ListItem>2</asp:ListItem> <asp:ListItem>3</asp:ListItem> <asp:ListItem>4</asp:ListItem> <asp:ListItem>5</asp:ListItem> </asp:DropDownList> <td> <td> <td> </tr> </table> <asp:LinkButton id="RefreshButton" Text="Refresh DataList" OnClick="Button_Click" runat="server"/> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- DataList.ItemTemplate プロパティのページへのリンク