ListItem ListItem ListItem ListItem Class

Определение

Представляет элемент данных в элементе управления списком с привязкой к данным.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
Наследование
ListItemListItemListItemListItem
Атрибуты
Реализации

Примеры

Следующий пример иллюстрирует использование 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. Дополнительные сведения о модели кода веб-форм, см. в разделе модель 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>

Комментарии

Объект 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.

Внутреннее содержимое HTMLInner HTML content Text - свойствоText property Value - свойствоValue property Визуализируемое содержимое внутренний HTML-кодRendered Inner HTML content Обработанный атрибут ValueRendered Value attribute
ЗадатьSet ЗадатьSet ЗадатьSet Внутреннее содержимое HTMLInner HTML content Value - свойствоValue property
ЗадатьSet ЗадатьSet Не заданоNot set Внутреннее содержимое HTMLInner HTML content Внутреннее содержимое HTMLInner HTML content
ЗадатьSet Не заданоNot set ЗадатьSet Внутреннее содержимое HTMLInner HTML content Value - свойствоValue property
ЗадатьSet Не заданоNot set Не заданоNot set Внутреннее содержимое HTMLInner HTML content Внутренний текст HTMLInner HTML text
Не заданоNot set ЗадатьSet ЗадатьSet Text - свойствоText property Value - свойствоValue property
Не заданоNot set ЗадатьSet Не заданоNot set Text - свойствоText property Text - свойствоText property
Не заданоNot set Не заданоNot set ЗадатьSet Value - свойствоValue property Value - свойствоValue property
Не заданоNot set Не заданоNot set Не заданоNot set Не заданоNot set Не заданоNot set

Примечание

Так как Text и Value свойства каждого имеет значения по умолчанию является пустая строка, это может быть пустой список элементов в элементе управления списком.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() ListItem() ListItem()

Инициализирует новый экземпляр класса ListItem.Initializes a new instance of the ListItem class.

ListItem(String) ListItem(String) ListItem(String) ListItem(String)

Инициализирует новый экземпляр класса ListItem с указанными текстовыми данными.Initializes a new instance of the ListItem class with the specified text data.

ListItem(String, String) ListItem(String, String) ListItem(String, String) ListItem(String, String)

Инициализирует новый экземпляр класса ListItem указанными значениями и текстовыми данными.Initializes a new instance of the ListItem class with the specified text and value data.

ListItem(String, String, Boolean) ListItem(String, String, Boolean) ListItem(String, String, Boolean) ListItem(String, String, Boolean)

Инициализирует новый экземпляр класса ListItem указанными значениями и текстовыми и включенными данными.Initializes a new instance of the ListItem class with the specified text, value, and enabled data.

Свойства

Attributes Attributes Attributes Attributes

Получает коллекцию пар "имя-значение" атрибута для объекта ListItem, которые напрямую не поддерживаются классом.Gets a collection of attribute name and value pairs for the ListItem that are not directly supported by the class.

Enabled Enabled Enabled Enabled

Возвращает или задает значение, показывающее, включен ли элемент списка.Gets or sets a value indicating whether the list item is enabled.

Selected Selected Selected Selected

Получает или задает значение, указывающее, выбран ли данный элемент.Gets or sets a value indicating whether the item is selected.

Text Text Text Text

Возвращает или задает текст, отображаемый в элементе управления списком для элемента, представленного элементом управления ListItem.Gets or sets the text displayed in a list control for the item represented by the ListItem.

Value Value Value Value

Возвращает или задает значение, связанное с ListItem.Gets or sets the value associated with the ListItem.

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, имеет ли заданный объект те же значение и текст, что и текущий элемент списка.Determines whether the specified object has the same value and text as the current list item.

FromString(String) FromString(String) FromString(String) FromString(String)

Создает элемент ListItem на основе указанного текста.Creates a ListItem from the specified text.

GetHashCode() GetHashCode() GetHashCode() 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() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

Явные реализации интерфейса

IAttributeAccessor.GetAttribute(String) IAttributeAccessor.GetAttribute(String) IAttributeAccessor.GetAttribute(String) IAttributeAccessor.GetAttribute(String)

Получает значение атрибута элемента управления элементами списка, при условии, что для атрибута задано имя.Returns the attribute value of the list item control having the specified attribute name.

IAttributeAccessor.SetAttribute(String, String) IAttributeAccessor.SetAttribute(String, String) IAttributeAccessor.SetAttribute(String, String) IAttributeAccessor.SetAttribute(String, String)

Присваивает атрибуту элемента управления элементами списка указанное имя и значение.Sets an attribute of the list item control with the specified name and value.

IParserAccessor.AddParsedSubObject(Object) IParserAccessor.AddParsedSubObject(Object) IParserAccessor.AddParsedSubObject(Object) IParserAccessor.AddParsedSubObject(Object)

Позволяет хранить свойство Text как внутреннее содержимое.Allows the Text property to be persisted as inner content.

IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState

Описание этого члена см. в разделе IsTrackingViewState.For a description of this member, see IsTrackingViewState.

IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object)

Описание этого члена см. в разделе LoadViewState(Object).For a description of this member, see LoadViewState(Object).

IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState()

Описание этого члена см. в разделе SaveViewState().For a description of this member, see SaveViewState().

IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState()

Описание этого члена см. в разделе TrackViewState().For a description of this member, see TrackViewState().

Применяется к

Дополнительно