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

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

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

SelectedItemTemplate プロパティを使用して、DataList コントロール内の選択された項目の内容を制御する方法のコード例を次に示します。
![]() |
---|
次のコード サンプルはシングルファイル コード モデルを使用しており、分離コード ファイルに直接コピーされた場合は正常に動作しない可能性があります。このコード サンプルは、拡張子が .aspx の空のテキスト ファイルにコピーする必要があります。Web フォームのコード モデルの詳細については、「ASP.NET Web ページのコード モデル」を参照してください。 |
<%@ Page Language="VB" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <head> <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("Item", GetType(Int32))) dt.Columns.Add(New DataColumn("Qty", GetType(Int32))) dt.Columns.Add(New DataColumn("Price", GetType(Double))) ' Populate the table with sample values. Dim i As Integer For i = 0 To 8 dr = dt.NewRow() dr(0) = i dr(1) = i * 2 dr(2) = 1.23 * (i + 1) 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 Item_Command(sender As Object, e As DataListCommandEventArgs) ' Set the SelectedIndex property to select an item in the DataList. ItemsList.SelectedIndex = e.Item.ItemIndex ' Rebind the data source to the DataList to refresh the control. ItemsList.DataSource = CreateDataSource() ItemsList.DataBind() End Sub </script> </head> <body> <form runat="server"> <h3>DataList Select Example</h3> Click <b>Select</b> to select an item. <br><br> <asp:DataList id="ItemsList" GridLines="Both" CellPadding="3" CellSpacing="0" OnItemCommand="Item_Command" runat="server"> <HeaderStyle BackColor="#aaaadd"> </HeaderStyle> <AlternatingItemStyle BackColor="Gainsboro"> </AlternatingItemStyle> <SelectedItemStyle BackColor="Yellow"> </SelectedItemStyle> <HeaderTemplate> Items </HeaderTemplate> <ItemTemplate> <asp:LinkButton id="SelectButton" Text="Select" CommandName="Select" runat="server"/> Item <%# DataBinder.Eval(Container.DataItem, "Item") %> </ItemTemplate> <SelectedItemTemplate> Item: <asp:Label id="ItemLabel" Text='<%# DataBinder.Eval(Container.DataItem, "Item") %>' runat="server"/> <br> Quantity: <asp:Label id="QtyLabel" Text='<%# DataBinder.Eval(Container.DataItem, "Qty") %>' runat="server"/> <br> Price: <asp:Label id="PriceLabel" Text='<%# DataBinder.Eval(Container.DataItem, "Price", "{0:c}") %>' runat="server"/> </SelectedItemTemplate> </asp:DataList> </form> </body> </html>
<%@ Page Language="C#" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <head> <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("Item", typeof(Int32))); dt.Columns.Add(new DataColumn("Qty", typeof(Int32))); dt.Columns.Add(new DataColumn("Price", typeof(double))); // Populate the table with sample values. for (int i = 0; i < 9; i++) { dr = dt.NewRow(); dr[0] = i; dr[1] = i * 2; dr[2] = 1.23 * (i + 1); 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 Item_Command(Object sender, DataListCommandEventArgs e) { // Set the SelectedIndex property to select an item in the DataList. ItemsList.SelectedIndex = e.Item.ItemIndex; // Rebind the data source to the DataList to refresh the control. ItemsList.DataSource = CreateDataSource(); ItemsList.DataBind(); } </script> </head> <body> <form runat="server"> <h3>DataList Select Example</h3> Click <b>Select</b> to select an item. <br><br> <asp:DataList id="ItemsList" GridLines="Both" CellPadding="3" CellSpacing="0" OnItemCommand="Item_Command" runat="server"> <HeaderStyle BackColor="#aaaadd"> </HeaderStyle> <AlternatingItemStyle BackColor="Gainsboro"> </AlternatingItemStyle> <SelectedItemStyle BackColor="Yellow"> </SelectedItemStyle> <HeaderTemplate> Items </HeaderTemplate> <ItemTemplate> <asp:LinkButton id="SelectButton" Text="Select" CommandName="Select" runat="server"/> Item <%# DataBinder.Eval(Container.DataItem, "Item") %> </ItemTemplate> <SelectedItemTemplate> Item: <asp:Label id="ItemLabel" Text='<%# DataBinder.Eval(Container.DataItem, "Item") %>' runat="server"/> <br> Quantity: <asp:Label id="QtyLabel" Text='<%# DataBinder.Eval(Container.DataItem, "Qty") %>' runat="server"/> <br> Price: <asp:Label id="PriceLabel" Text='<%# DataBinder.Eval(Container.DataItem, "Price", "{0:c}") %>' runat="server"/> </SelectedItemTemplate> </asp:DataList> </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.SelectedItemTemplate プロパティのページへのリンク