ListItem 클래스

정의

데이터 바인딩된 목록 컨트롤의 데이터 항목을 나타냅니다.Represents a data item in a data-bound list control. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

public ref class ListItem sealed : System::Web::UI::IAttributeAccessor, System::Web::UI::IParserAccessor, System::Web::UI::IStateManager
[System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))]
public sealed class ListItem : System.Web.UI.IAttributeAccessor, System.Web.UI.IParserAccessor, System.Web.UI.IStateManager
type ListItem = class
    interface IStateManager
    interface IParserAccessor
    interface IAttributeAccessor
Public NotInheritable Class ListItem
Implements IAttributeAccessor, IParserAccessor, IStateManager
상속
ListItem
특성
구현

예제

다음 예제에서는의 사용을 보여 줍니다 ListItem 내에서 제어를 ListBox 컨트롤입니다.The following example illustrates the use of ListItem controls within a ListBox control.

참고

다음 코드 샘플 단일 파일 코드 모델을 사용 하 고 코드 숨김 파일에 직접 복사 하는 경우 제대로 작동 하지 않을 수 있습니다.The following code samples use the single-file code model and may not work correctly if copied directly into a code-behind file. 각 코드 샘플.aspx 확장명이 있는 빈 텍스트 파일에 복사 해야 합니다.Each code sample must be copied into an empty text file that has an .aspx extension. Web Forms 코드 모델에 대 한 자세한 내용은 참조 하세요. ASP.NET Web Forms 페이지 코드 모델합니다.For more information on the Web Forms code model, see ASP.NET Web Forms Page Code Model.

<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
 <head>
    <title>ListBox Example</title>
<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>
     <br />
 
     <form id="form1" 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" />
         
         <br />
         
         <asp:Label id="Label1" font-names="Verdana" font-size="10pt" runat="server"/>
         
     </form>
 
 </body>
 </html>
          
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
 <head>
    <title>ListBox Example</title>
<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>
     <br />
 
     <form id="form1" 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" />
         
         <br />
         
         <asp:Label id="Label1" font-names="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 foreach loop to iterate through 
the ListItem objects in the ListItemCollection of ListBox1. -->

<!-- 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. -->

<%@ Page language="c#" AutoEventWireup="true"%>
<%@ Import Namespace="System.Data" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script language="C#" runat="server">
            // Global Variables.
            private DataView dv;
            private DataTable dt = new DataTable();

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

                // 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)
            {
// <Snippet5>
                // 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);
// </Snippet5>

                            // Rebind the data to DataGrid1.
                            dv = new DataView(dt);
                            DataGrid1.DataSource = dv;
                            DataGrid1.DataBind();
                        }
                    }
                }
            }
        </script>
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <title> ListItemCollection Example </title>
</head>
    
    <body>
        <form id="form1" 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>
<%@ Page language="VB" AutoEventWireup="true"%>
<%@ Import Namespace="System.Data" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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)
' <Snippet4>
                ' Set the number of rows displayed in the ListBox to be
                ' the number of items in the ListBoxCollection.
                ListBox1.Rows = ListBox1.Items.Count
' </Snippet4>

                ' 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)
' <Snippet5>
                ' 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)
' </Snippet5>

                            ' Rebind the data to DataGrid1.
                            dv = new DataView(dt)
                            DataGrid1.DataSource = dv
                            DataGrid1.DataBind()
                        End If
                    End If
                Next item
            End Sub
        </script>
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <title> ListItemCollection Example </title>
</head>
    
    <body>
        <form id="form1" 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>

설명

A ListItem 제어와 같은 데이터 바인딩된 목록 컨트롤 내에서 개별 데이터 항목을 나타냅니다는 ListBox 또는 RadioButtonList 제어 합니다.A ListItem control represents an individual data item within a data-bound list control, such as a ListBox or a RadioButtonList control.

항목 목록 컨트롤에 대해 표시 되는 텍스트를 지정 하는 방법은 여러 가지가 있습니다.There are several ways to specify the text displayed for an item in the list control. 가장 일반적인 방법은 내부 html에서 텍스트를 배치 하 여 콘텐츠입니다.The most common method is by placing text in the inner HTML content. 내부 HTML 콘텐츠를 열고 닫는 태그 사이의 텍스트는 ListItem 제어 합니다.The inner HTML content is the text between the opening and closing tags of the ListItem control. 사용할 수도 있습니다는 Text 항목에 대해 목록 컨트롤에 표시할 텍스트를 지정 하는 속성입니다.You can also use the Text property to specify the text displayed in the list control for the item.

Value 속성을 사용 하면 컨트롤에 표시 되는 텍스트 또한 값 목록 컨트롤에서 항목을 사용 하 여 연결할 수 있습니다.The Value property allows you to associate a value with the item in the list control, in addition to the text displayed in the control. 예를 들어, 표시할 수 있습니다 항목에 대 한 텍스트 목록 컨트롤에서와 같은 "Item 1"를 사용 하 여는 Value 와 같은 해당 항목에 대 한 값을 지정 하는 속성 "$1.99"합니다.For example, you can display text for an item in the list control, such as "Item 1", and use the Value property to specify a value for that item, such as "$1.99".

HTML 콘텐츠를 내부 조합을 할 수 있습니다 Text, 또는 Value 속성 집합입니다.You can have any combination of the inner HTML content, Text, or Value properties set. 결과 HTML에 대 한 출력을 ListItem 설정 되는 이러한 세 속성의 조합에 컨트롤에 따라 달라 집니다.The resulting HTML output for the ListItem control depends on the combination of these three properties that are set. 예를 들어, 모든 세 가지 속성으로 설정 된 경우 다음과 같습니다.For example, if all three properties are set as follows:

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

HTML 콘텐츠는 내부 콘텐츠 내부 HTML 렌더링 및 Value 속성이 사용 되는 Value 특성입니다.The inner HTML content is used for rendered inner HTML content and the Value property is used for the Value attribute. 출력을 렌더링 하는 결과 HTML 다음과 같습니다.The resulting HTML rendering output is:

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

다음 표에서 속성을 설정 하 고 내부 HTML 콘텐츠를 렌더링된에 사용 되는 해당 속성의 조합 및 Value 특성입니다.The following table lists the combination of set properties and the corresponding property used for the rendered inner HTML content and Value attribute. 왼쪽에 있는 세 가지 열 속성 설정의 조합을 나열합니다.The three columns on the left list the combination of set properties. 오른쪽 두 열은 해당 특성에 대해 사용 되는 속성 값을 나열 합니다.The two columns on the right list which property value is used for the corresponding attribute.

내부 HTML 콘텐츠Inner HTML content Text 속성Text property Value 속성Value property 내부 HTML 콘텐츠를 렌더링합니다.Rendered Inner HTML content 렌더링 된 Value 특성Rendered Value attribute
SetSet SetSet SetSet 내부 HTML 콘텐츠Inner HTML content Value 속성Value property
SetSet SetSet 설정 안 함Not set 내부 HTML 콘텐츠Inner HTML content 내부 HTML 콘텐츠Inner HTML content
SetSet 설정 안 함Not set SetSet 내부 HTML 콘텐츠Inner HTML content Value 속성Value property
SetSet 설정 안 함Not set 설정 안 함Not set 내부 HTML 콘텐츠Inner HTML content 내부 HTML 텍스트Inner HTML text
설정 안 함Not set SetSet SetSet Text 속성Text property Value 속성Value property
설정 안 함Not set SetSet 설정 안 함Not set Text 속성Text property Text 속성Text property
설정 안 함Not set 설정 안 함Not set SetSet Value 속성Value property Value 속성Value property
설정 안 함Not set 설정 안 함Not set 설정 안 함Not set 설정 안 함Not set 설정 안 함Not set

참고

때문에 합니다 TextValue 각 속성에는 기본값은 빈 문자열, 목록 컨트롤에서 빈 목록 항목을 가질 수 있습니다.Because the Text and Value properties each have a default value of an empty string, it is possible to have empty list items in the list control.

목록 컨트롤을 표시 되 면 모든 ListItem 컨트롤과 해당 Selected 속성으로 설정 true 컨트롤 강조 표시 됩니다.When a list control is displayed, any ListItem control with its Selected property set to true appears highlighted in the control.

ListItem 컨트롤을 제공 합니다 Enabled 속성을 지정할 수 있습니다 있는지 여부를 ListItem 컨트롤이 사용 하도록 설정 하거나 사용 하지 않도록 설정 합니다.The ListItem control provides the Enabled property to allow you to specify whether a ListItem control is enabled or disabled. ListItem 비활성화 되어 있는 컨트롤 나타내려면 선택할 수 없는 흐리게 표시 됩니다.A ListItem control that is disabled is dimmed to indicate that it cannot be selected. 사용 하지 않도록 설정 하려면이 속성을 사용을 ListItem 에서 컨트롤을 RadioButtonList 컨트롤 또는 CheckBoxList 컨트롤입니다.Use this property to disable a ListItem control in either a RadioButtonList control or a CheckBoxList control.

참고

사용 하지 않으려면이 속성을 사용할 수 없습니다는 ListItem 에서 제어를 DropDownList 컨트롤 또는 ListBox 제어 합니다.You cannot use this property to disable a ListItem control in a DropDownList control or ListBox control.

인스턴스의 초기 속성 값의 목록을 ListItem, 참조는 ListItem 생성자입니다.For a list of initial property values for an instance of ListItem, see the ListItem constructor.

주의

악성 클라이언트 스크립트 포함 될 수 있는 사용자 입력을 표시 하려면이 제어를 사용할 수 있습니다.This control can be used to display user input, which might include malicious client script. 애플리케이션에서 표시 하기 전에 실행 스크립트, SQL 문 또는 다른 코드에 대 한 클라이언트에서 전송 되는 모든 정보를 확인 합니다.Check any information that is sent from a client for executable script, SQL statements, or other code before displaying it in your application. 입력된 텍스트 컨트롤에 표시 하기 전에 사용자 입력을 확인 하려면 유효성 검사 컨트롤을 사용할 수 있습니다.You can use validation controls to verify user input before displaying the input text in a control. ASP.NET에서는 사용자 입력에서 차단 스크립트를 HTML 입력된 요청 유효성 검사 기능을 제공 합니다.ASP.NET provides an input request validation feature to block script and HTML in user input. 자세한 내용은 표준 컨트롤 보호, 방법: 보호에 대 한 스크립트 악용 문자열을 HTML 인코딩 적용 하 여 웹 애플리케이션에서, 및 에서 사용자 입력 유효성 검사 ASP.NET 웹 페이지합니다.For more information, see Securing Standard Controls, How to: Protect Against Script Exploits in a Web Application by Applying HTML Encoding to Strings, and Validating User Input in ASP.NET Web Pages.

생성자

ListItem()

ListItem 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ListItem class.

ListItem(String)

지정된 텍스트 데이터를 사용하여 ListItem 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ListItem class with the specified text data.

ListItem(String, String)

지정된 텍스트 및 값 데이터를 사용하여 ListItem 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ListItem class with the specified text and value data.

ListItem(String, String, Boolean)

지정한 텍스트, 값 및 활성화된 데이터를 사용하여 ListItem 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ListItem class with the specified text, value, and enabled data.

속성

Attributes

클래스에서 직접 지원하지 않는 ListItem에 대한 특성 이름/값 쌍의 컬렉션을 가져옵니다.Gets a collection of attribute name and value pairs for the ListItem that are not directly supported by the class.

Enabled

목록 항목의 활성화 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether the list item is enabled.

Selected

항목이 선택되어 있는지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether the item is selected.

Text

ListItem으로 표시되는 항목에 대해 목록 컨트롤에 표시되는 텍스트를 가져오거나 설정합니다.Gets or sets the text displayed in a list control for the item represented by the ListItem.

Value

ListItem과 관련된 값을 가져오거나 설정합니다.Gets or sets the value associated with the ListItem.

메서드

Equals(Object)

지정된 개체의 값 및 텍스트가 현재 목록 항목과 같은지 여부를 확인합니다.Determines whether the specified object has the same value and text as the current list item.

FromString(String)

지정된 텍스트에서 ListItem을 만듭니다.Creates a ListItem from the specified text.

GetHashCode()

특정 형식에 대한 해시 함수로 사용되며 해시 알고리즘 및 해시 테이블과 같은 데이터 구조에 사용하기 적당합니다.Serves as a hash function for a particular type, and is suitable for use in hashing algorithms and data structures like a hash table.

GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

명시적 인터페이스 구현

IAttributeAccessor.GetAttribute(String)

지정한 특성 이름을 가진 목록 항목 컨트롤의 특성 값을 반환합니다.Returns the attribute value of the list item control having the specified attribute name.

IAttributeAccessor.SetAttribute(String, String)

지정한 이름과 값을 사용하여 목록 항목 컨트롤의 특성을 설정합니다.Sets an attribute of the list item control with the specified name and value.

IParserAccessor.AddParsedSubObject(Object)

Text 속성을 내부 콘텐츠로 유지할 수 있도록 합니다.Allows the Text property to be persisted as inner content.

IStateManager.IsTrackingViewState

이 멤버에 대한 설명은 IsTrackingViewState를 참조하십시오.For a description of this member, see IsTrackingViewState.

IStateManager.LoadViewState(Object)

이 멤버에 대한 설명은 LoadViewState(Object)를 참조하세요.For a description of this member, see LoadViewState(Object).

IStateManager.SaveViewState()

이 멤버에 대한 설명은 SaveViewState()를 참조하십시오.For a description of this member, see SaveViewState().

IStateManager.TrackViewState()

이 멤버에 대한 설명은 TrackViewState()를 참조하십시오.For a description of this member, see TrackViewState().

적용 대상

추가 정보