ListItem クラスとは? わかりやすく解説

ListItem クラス

データ連結リスト コントロールデータ項目表します。このクラス継承できません。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public NotInheritable Class
 ListItem
    Implements IStateManager, IParserAccessor, IAttributeAccessor
public sealed class ListItem : IStateManager,
 IParserAccessor, IAttributeAccessor
public ref class ListItem sealed : IStateManager,
 IParserAccessor, IAttributeAccessor
public final class ListItem implements IStateManager,
 IParserAccessor, 
    IAttributeAccessor
public final class ListItem implements IStateManager,
 IParserAccessor, 
    IAttributeAccessor
解説解説

ListItem コントロールは、ListBox コントロール、RadioButtonList コントロールなど、データ連結リスト コントロール内にある個別データ項目表します

リスト コントロールの項目を示すために表示されるテキスト指定するには、いくつかの方法あります通常は、内部 HTML内容テキスト配置する方法使用します内部 HTML内容とは、ListItem コントロール開始タグ終了タグの間にあるテキストのことです。また、Text プロパティ使用して、項目を示すためにリスト コントロール表示されるテキスト指定することもできます

Value プロパティ使用すると、リスト コントロール表示されるテキストだけでなく、リスト コントロールの項目に値を関連付けることができます。たとえば、リスト コントロールの項目を示すために、"Item 1" などのテキスト表示したり、Value プロパティ使用して"$1.99" など、その項目の値を指定したできます

内部 HTML内容Text、または Valueプロパティ セット組み合わせることができますその結果 ListItem コントロールに対して出力される HTML は、設定されるこれら 3 つのプロパティ組み合わせによって異なります。たとえば、3 つすべてのプロパティ次のように設定します

<asp:ListItem Value="Value 1" Text="Item 1">Inner 1</asp:ListItem>

内部 HTML内容は、表示される内部 HTML内容を表すために使用されValue プロパティは、Value 属性を表すために使用されます。この結果表示される HTML 出力次のようになります

<option value="Value 1">Inner 1</option>

設定されるプロパティ組み合わせと、表示される内部 HTML内容Value 属性を表すために使用される対応するプロパティの一覧を次の表に示します左側の 3 列には、設定されるプロパティ組み合わせの一覧を示します右側の 2 列には、対応する属性に対して使用されるプロパティ値の一覧を示します

メモ注意

このコントロールは、ユーザー入力表示するために使用できますユーザー入力には悪意のあるクライアント スクリプト含まれている可能性ありますアプリケーション表示する前にクライアントから送信され実行スクリプトSQL ステートメントなどのコード情報はすべて検証してください入力テキストコントロール表示する前に検証コントロール使用してユーザー入力検証できますASP.NET には入力要求検証機能があり、ユーザー入力の中のスクリプトおよび HTMLブロックできます詳細については、「標準コントロールセキュリティ保護」、「方法 : HTML エンコーディング文字列適用して Web アプリケーションスクリプトによる攻略から保護する」、および「ASP.NET Web ページにおけるユーザー入力検証」を参照してください

使用例使用例

ListBox コントロール内の ListItem コントロール使用例次に示します

メモメモ

次のコード サンプルはシングルファイル コード モデル使用しており、分離コード ファイル直接コピーされ場合正常に動作しない可能性あります。各コード サンプルは、拡張子.aspx の空のテキスト ファイルコピーする必要がありますWeb フォームコード モデル詳細については、「ASP.NET Web ページコード モデル」を参照してください

<%@ Page Language="VB" AutoEventWireup="True"
 %>
<html>
 <head>
 
     <script language="VB" runat="server">
 
         Sub SubmitBtn_Click(Sender As Object,
 e As EventArgs)
             If ListBox1.SelectedIndex > -1 Then
                 Label1.Text = "You chose: " &
 ListBox1.SelectedItem.Text
                 Label1.Text &= "<br> with value: "
 & ListBox1.SelectedItem.Value
             End If
         End Sub
 
     </script>
 
 </head>
 <body>
 
     <h3>ListBox Example</h3>
     <p>
 
     <form runat=server>
 
         <asp:ListBox id=ListBox1 Width="100px"
 runat="server">
             <asp:ListItem>Item 1</asp:ListItem>
             <asp:ListItem>Item 2</asp:ListItem>
             <asp:ListItem>Item 3</asp:ListItem>
             <asp:ListItem Value="Value 4">Item
 4</asp:ListItem>
             <asp:ListItem Text="Item 5" Value="Value
 5" Selected="True"/>
             <asp:ListItem>Item 6</asp:ListItem>
         </asp:ListBox>
 
         <asp:button Text="Submit" OnClick="SubmitBtn_Click"
 runat="server" />
         
         <p>
         
         <asp:Label id=Label1 font-name="Verdana"
 font-size="10pt" runat="server"/>
         
     </form>
 
 </body>
 </html>
          
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
 <head>
 
     <script language="C#" runat="server">
 
         void SubmitBtn_Click(Object Sender, EventArgs e) {
             if (ListBox1.SelectedIndex > -1) {
                 Label1.Text="You chose: " + ListBox1.SelectedItem.Text;
                 Label1.Text+="<br> with value: " + ListBox1.SelectedItem.Value;
             }
         }
 
     </script>
 
 </head>
 <body>
 
     <h3>ListBox Example</h3>
     <p>
 
     <form runat=server>
 
         <asp:ListBox id=ListBox1 Width="100px" runat="server">
             <asp:ListItem>Item 1</asp:ListItem>
             <asp:ListItem>Item 2</asp:ListItem>
             <asp:ListItem>Item 3</asp:ListItem>
             <asp:ListItem Value="Value 4">Item 4</asp:ListItem>
             <asp:ListItem Text="Item 5" Value="Value 5" Selected="True"/>
             <asp:ListItem>Item 6</asp:ListItem>
         </asp:ListBox>
 
         <asp:button Text="Submit" OnClick="SubmitBtn_Click"
 runat="server" />
         
         <p>
         
         <asp:Label id=Label1 font-name="Verdana" font-size="10pt"
 runat="server"/>
         
     </form>
 
 </body>
 </html>
          
<%@ Page Language="JScript" AutoEventWireup="True" %>
<html>
 <head>
 
     <script language="JSCRIPT" runat="server">
 
         function SubmitBtn_Click(Sender : Object, e : EventArgs){
             if(ListBox1.SelectedIndex > -1){
                 Label1.Text = "You chose: " + ListBox1.SelectedItem.Text
                 Label1.Text += "<br> with value: " + ListBox1.SelectedItem.Value
             }
         }
 
     </script>
 
 </head>
 <body>
 
     <h3>ListBox Example</h3>
     <p>
 
     <form runat=server>
 
         <asp:ListBox id=ListBox1 Width="100px" runat="server">
             <asp:ListItem>Item 1</asp:ListItem>
             <asp:ListItem>Item 2</asp:ListItem>
             <asp:ListItem>Item 3</asp:ListItem>
             <asp:ListItem Value="Value 4">Item 4</asp:ListItem>
             <asp:ListItem Text="Item 5" Value="Value 5" Selected="True"/>
             <asp:ListItem>Item 6</asp:ListItem>
         </asp:ListBox>
 
         <asp:button Text="Submit" OnClick="SubmitBtn_Click"
 runat="server" />
         
         <p>
         
         <asp:Label id=Label1 font-name="Verdana" font-size="10pt"
 runat="server"/>
         
     </form>
 
 </body>
 </html>
          
<!-- This example demonstrates how to select
 multiple items from a DataList 
and add the selected items to a DataGrid. The
 example uses a For Each loop
 
to iterate through the ListItem objects in
 the ListItemCollection of ListBox1. -->

<br /><span space="preserve">...</span><br
 /><%@ Page language="VB" AutoEventWireup="true"%>
<%@ Import Namespace="System.Data"
 %>

<HTML>
    <HEAD>
        
        <SCRIPT runat="server">
            ' Global Variables.
            Private dv As DataView
            Private dt As New
 DataTable()

            Private Sub Page_Load(sender As
 Object, e As System.EventArgs)
                ' Set the number of rows displayed in the ListBox to
 be
                ' the number of items in the ListBoxCollection.
                ListBox1.Rows = ListBox1.Items.Count

                ' If the DataTable is already stored in the Web form's
 default
                ' HttpSessionState variable, then don't recreate the
 DataTable.
                If Session("data")
 Is Nothing Then
                    ' Add columns to the DataTable.
                    dt.Columns.Add(New DataColumn("Item"))
                    dt.Columns.Add(New DataColumn("Price"))
        
                    ' Store the DataTable in the Session variable so
 it can be 
                    ' accessed again later.
                    Session("data") = dt
                    
                    ' Use the table to create a DataView, because the
 DataGrid
                    ' can only bind to a data source that implements
 IEnumerable.
                    dv = New DataView(dt)
            
                    ' Set the DataView as the data source, and bind
 it to the DataGrid.
                    DataGrid1.DataSource = dv
                    DataGrid1.DataBind()
                End If
            End Sub

            Private Sub addButton_Click(sender
 As Object, e As System.EventArgs)
                ' Add the items selected in ListBox1 to DataGrid1.
                Dim item As ListItem
                For Each item In
 ListBox1.Items
                    If item.Selected Then
                        ' Add the item to the DataGrid.
                        ' First, get the DataTable from the Session
 variable.
                        dt = CType(Session("data"),
 DataTable)
            
                        If  Not (dt Is
 Nothing) Then
                            ' Create a new DataRow in the DataTable.
                            Dim dr As DataRow
                            dr = dt.NewRow()
                            ' Add the item to the new DataRow.
                            dr("Item") = item.Text
                            ' Add the item's value to the DataRow.
                            dr("Price") = item.Value
                            ' Add the DataRow to the DataTable.
                            dt.Rows.Add(dr)

                            ' Rebind the data to DataGrid1.
                            dv = new DataView(dt)
                            DataGrid1.DataSource = dv
                            DataGrid1.DataBind()
                        End If
                    End If
                Next item
            End Sub
        </SCRIPT>

    </HEAD>
    
    <BODY>
        <form runat="server">

            <h3> ListItemCollection Example </h3>

            <table cellpadding="6" border="0">
                <tr>
                    <td valign="top">
                        <asp:ListBox id="ListBox1"
 runat="server" SelectionMode="Multiple">
                            <asp:ListItem Value=".89">apples</asp:ListItem>
                            <asp:ListItem Value=".49">bananas</asp:ListItem>
                            <asp:ListItem Value="2.99">cherries</asp:ListItem>
                            <asp:ListItem Value="1.49">grapes</asp:ListItem>
                            <asp:ListItem Value="2.00">mangos</asp:ListItem>
                            <asp:ListItem Value="1.09">oranges</asp:ListItem>
                        </asp:ListBox>
                    </td>

                    <td valign="top">
                        <asp:Button id="addButton"
 runat="server" Text="Add -->"
                            Width="100px" OnClick="addButton_Click"></asp:Button>
                    </td>

                    <td valign="top">
                        <asp:DataGrid Runat="server"
 ID="DataGrid1" CellPadding="4">
                        </asp:DataGrid>
                    </td>
                </tr>
            </table>        
        </form>
    </body>
</HTML>
<!-- This example demonstrates how to select multiple items from a DataList and
 add the 
selected items to a DataGrid. The example uses a foreach loop
 to iterate through 
the ListItem objects in the ListItemCollection of ListBox1. -->

<br /><span space="preserve">...</span><br /><%@
 Page language="c#" AutoEventWireup="true"%>
<%@ Import Namespace="System.Data" %>

<HTML>
    <HEAD>
        
        <SCRIPT language="C#" runat="server">
            // Global Variables.
            private DataView dv;
            private DataTable dt = new DataTable();

            private void Page_Load(object sender,
 System.EventArgs e)
            {
                // Set the number of rows displayed in the ListBox to
 be
                // the number of items in the ListBoxCollection.
                ListBox1.Rows = ListBox1.Items.Count;

                // If the DataTable is already stored in the Web form's
 default
                // HttpSessionState variable, then don't recreate the
 DataTable.
                if (Session["data"] == null)
                {
                    // Add columns to the DataTable.
                    dt.Columns.Add(new DataColumn("Item"));
                    dt.Columns.Add(new DataColumn("Price"));
        
                    // Store the DataTable in the Session variable so
 it can 
                    // be accessed again later.
                    Session["data"] = dt;
                    
                    // Use the table to create a DataView, because the
 DataGrid
                    // can only bind to a data source that implements
 IEnumerable.
                    dv = new DataView(dt);
            
                    // Set the DataView as the data source, and bind
 it to the DataGrid.
                    DataGrid1.DataSource = dv;
                    DataGrid1.DataBind();
                }
            }

            private void addButton_Click(object
 sender, System.EventArgs e)
            {
                // Add the items selected in ListBox1 to DataGrid1.
                foreach (ListItem item in ListBox1.Items)
                {
                    if (item.Selected)
                    {
                        // Add the item to the DataGrid.
                        // First, get the DataTable from the Session
 variable.
                        dt = (DataTable)Session["data"];
            
                        if (dt != null)
                        { 
                            // Create a new DataRow in the DataTable.
                            DataRow dr = dt.NewRow();
                            // Add the item to the new DataRow.
                            dr["Item"] = item.Text;
                            // Add the item's value to the DataRow.
                            dr["Price"] = item.Value;
                            // Add the DataRow to the DataTable.
                            dt.Rows.Add(dr);

                            // Rebind the data to DataGrid1.
                            dv = new DataView(dt);
                            DataGrid1.DataSource = dv;
                            DataGrid1.DataBind();
                        }
                    }
                }
            }
        </SCRIPT>

    </HEAD>
    
    <BODY>
        <form runat="server">

            <h3> ListItemCollection Example </h3>

            <table cellpadding="6" border="0">
                <tr>
                    <td valign="top">
                        <asp:ListBox id="ListBox1" runat="server"
 SelectionMode="Multiple">
                            <asp:ListItem Value=".89">apples</asp:ListItem>
                            <asp:ListItem Value=".49">bananas</asp:ListItem>
                            <asp:ListItem Value="2.99">cherries</asp:ListItem>
                            <asp:ListItem Value="1.49">grapes</asp:ListItem>
                            <asp:ListItem Value="2.00">mangos</asp:ListItem>
                            <asp:ListItem Value="1.09">oranges</asp:ListItem>
                        </asp:ListBox>
                    </td>

                    <td valign="top">
                        <asp:Button id="addButton" runat="server"
 Text="Add -->"
                            Width="100px" OnClick="addButton_Click"></asp:Button>
                    </td>

                    <td valign="top">
                        <asp:DataGrid Runat="server" ID="DataGrid1"
 CellPadding="4">
                        </asp:DataGrid>
                    </td>
                </tr>
            </table>        
        </form>
    </body>
</HTML>
.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
  System.Web.UI.WebControls.ListItem
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ListItem クラス」の関連用語

ListItem クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ListItem クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS