ListItem ListItem ListItem ListItem Class

Definizione

Rappresenta un elemento di dati in un controllo elenco associato ai dati.Represents a data item in a data-bound list control. Questa classe non può essere ereditata.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
Ereditarietà
ListItemListItemListItemListItem
Attributi
Implementazioni

Esempi

Nell'esempio seguente viene illustrato l'utilizzo di ListItem controlli all'interno ListBox di un controllo.The following example illustrates the use of ListItem controls within a ListBox control.

Nota

Negli esempi di codice seguenti viene utilizzato il modello di codice a file singolo e potrebbe non funzionare correttamente se copiato direttamente in un file code-behind.The following code samples use the single-file code model and may not work correctly if copied directly into a code-behind file. Ogni esempio di codice deve essere copiato in un file di testo vuoto con estensione aspx.Each code sample must be copied into an empty text file that has an .aspx extension. Per ulteriori informazioni sul modello di codice Web Form, vedere il modello di codice della pagina Web form ASP.NET.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>

Commenti

Un ListItem controllo rappresenta un singolo elemento di dati all'interno di un controllo elenco associato a dati, ListBox ad esempio RadioButtonList un controllo o.A ListItem control represents an individual data item within a data-bound list control, such as a ListBox or a RadioButtonList control.

Esistono diversi modi per specificare il testo visualizzato per un elemento nel controllo elenco.There are several ways to specify the text displayed for an item in the list control. Il metodo più comune consiste nell'inserire testo nel contenuto HTML interno.The most common method is by placing text in the inner HTML content. Il contenuto HTML interno è il testo tra i tag di apertura e di chiusura ListItem del controllo.The inner HTML content is the text between the opening and closing tags of the ListItem control. È anche possibile usare la Text proprietà per specificare il testo visualizzato nel controllo elenco per l'elemento.You can also use the Text property to specify the text displayed in the list control for the item.

La Value proprietà consente di associare un valore all'elemento nel controllo elenco, oltre al testo visualizzato nel controllo.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. Ad esempio, è possibile visualizzare il testo di un elemento nel controllo elenco, ad "Item 1"esempio, e usare la Value proprietà per specificare un valore per "$1.99"l'elemento, ad esempio.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".

È possibile avere qualsiasi combinazione di proprietà del contenuto HTML interno Text, o Value impostate.You can have any combination of the inner HTML content, Text, or Value properties set. L'output HTML risultante per il ListItem controllo dipende dalla combinazione di queste tre proprietà impostate.The resulting HTML output for the ListItem control depends on the combination of these three properties that are set. Se, ad esempio, tutte e tre le proprietà sono impostate nel modo seguente:For example, if all three properties are set as follows:

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

Il contenuto HTML interno viene usato per il rendering del contenuto HTML interno Value e la proprietà viene usata Value per l'attributo.The inner HTML content is used for rendered inner HTML content and the Value property is used for the Value attribute. L'output del rendering HTML risultante è:The resulting HTML rendering output is:

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

Nella tabella seguente viene elencata la combinazione di proprietà set e la proprietà corrispondente utilizzata per il contenuto HTML interno Value sottoposto a rendering e l'attributo.The following table lists the combination of set properties and the corresponding property used for the rendered inner HTML content and Value attribute. Nelle tre colonne a sinistra viene elencata la combinazione di proprietà set.The three columns on the left list the combination of set properties. Le due colonne nell'elenco a destra del valore della proprietà usato per l'attributo corrispondente.The two columns on the right list which property value is used for the corresponding attribute.

Contenuto HTML internoInner HTML content Text (proprietà)Text property Value (proprietà)Value property Contenuto HTML interno sottoposto a renderingRendered Inner HTML content Attributo valore sottoposto a renderingRendered Value attribute
ImpostaSet ImpostaSet ImpostaSet Contenuto HTML internoInner HTML content Value (proprietà)Value property
ImpostaSet ImpostaSet Non impostatoNot set Contenuto HTML internoInner HTML content Contenuto HTML internoInner HTML content
ImpostaSet Non impostatoNot set ImpostaSet Contenuto HTML internoInner HTML content Value (proprietà)Value property
ImpostaSet Non impostatoNot set Non impostatoNot set Contenuto HTML internoInner HTML content Testo HTML internoInner HTML text
Non impostatoNot set ImpostaSet ImpostaSet Text (proprietà)Text property Value (proprietà)Value property
Non impostatoNot set ImpostaSet Non impostatoNot set Text (proprietà)Text property Text (proprietà)Text property
Non impostatoNot set Non impostatoNot set ImpostaSet Value (proprietà)Value property Value (proprietà)Value property
Non impostatoNot set Non impostatoNot set Non impostatoNot set Non impostatoNot set Non impostatoNot set

Nota

Poiché le Text proprietà Value e hanno ognuna un valore predefinito di una stringa vuota, è possibile che nel controllo elenco siano presenti voci di elenco vuote.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.

Quando viene visualizzato un controllo elenco, qualsiasi ListItem controllo con la Selected relativa proprietà impostata true su viene visualizzato evidenziato nel controllo.When a list control is displayed, any ListItem control with its Selected property set to true appears highlighted in the control.

Il ListItem controllo fornisce la Enabled proprietà che consente di specificare se un ListItem controllo è abilitato o disabilitato.The ListItem control provides the Enabled property to allow you to specify whether a ListItem control is enabled or disabled. Un ListItem controllo disabilitato viene visualizzato in grigio per indicare che non è possibile selezionarlo.A ListItem control that is disabled is dimmed to indicate that it cannot be selected. Usare questa proprietà per disabilitare un ListItem controllo in un RadioButtonList controllo o in un CheckBoxList controllo.Use this property to disable a ListItem control in either a RadioButtonList control or a CheckBoxList control.

Nota

Non è possibile usare questa proprietà per disabilitare ListItem un controllo in DropDownList un controllo ListBox o in un controllo.You cannot use this property to disable a ListItem control in a DropDownList control or ListBox control.

Per un elenco dei valori iniziali delle proprietà di un'istanza ListItemdi, vedere ListItem il costruttore.For a list of initial property values for an instance of ListItem, see the ListItem constructor.

Attenzione

Questo controllo può essere usato per visualizzare l'input dell'utente, che potrebbe includere script client dannosi.This control can be used to display user input, which might include malicious client script. Controllare le informazioni inviate da un client per uno script eseguibile, istruzioni SQL o altro codice prima di visualizzarlo nell'applicazione.Check any information that is sent from a client for executable script, SQL statements, or other code before displaying it in your application. È possibile usare i controlli di convalida per verificare l'input dell'utente prima di visualizzare il testo di input in un controllo.You can use validation controls to verify user input before displaying the input text in a control. ASP.NET fornisce una funzionalità di convalida della richiesta di input per bloccare lo script e il codice HTML nell'input dell'utente.ASP.NET provides an input request validation feature to block script and HTML in user input. Per ulteriori informazioni, vedere protezione dei controlli standard, procedura: Proteggi dagli exploit di script in un'applicazione Web applicando la codifica HTMLalle stringhe e convalidando l' input dell'utente in pagine Web 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.

Costruttori

ListItem() ListItem() ListItem() ListItem()

Inizializza una nuova istanza della classe ListItem.Initializes a new instance of the ListItem class.

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

Inizializza una nuova istanza della classe ListItem con i dati relativi al testo specificati.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)

Inizializza una nuova istanza della classe ListItem con i dati relativi al testo e al valore specificati.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)

Inizializza una nuova istanza della classe ListItem con il testo, il valore e i dati abilitati specificati.Initializes a new instance of the ListItem class with the specified text, value, and enabled data.

Proprietà

Attributes Attributes Attributes Attributes

Ottiene un insieme di coppie di nome e valore di attributo per l'oggetto ListItem non direttamente supportati dalla classe.Gets a collection of attribute name and value pairs for the ListItem that are not directly supported by the class.

Enabled Enabled Enabled Enabled

Ottiene o imposta un valore che indica se l'elemento di elenco è abilitato.Gets or sets a value indicating whether the list item is enabled.

Selected Selected Selected Selected

Ottiene o imposta un valore che indica se l'elemento è selezionato.Gets or sets a value indicating whether the item is selected.

Text Text Text Text

Ottiene o imposta il testo visualizzato in un controllo elenco per l'elemento rappresentato dall'oggetto ListItem.Gets or sets the text displayed in a list control for the item represented by the ListItem.

Value Value Value Value

Ottiene o imposta il valore associato all'oggetto ListItem.Gets or sets the value associated with the ListItem.

Metodi

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

Determina se il valore e il testo dell'oggetto specificato corrispondono a quelli della voce di elenco corrente.Determines whether the specified object has the same value and text as the current list item.

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

Crea un oggetto ListItem in base al testo specificato.Creates a ListItem from the specified text.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Viene utilizzato come funzione hash per un tipo particolare ed è adatto per l'utilizzo in algoritmi hash e in strutture di dati quali una tabella hash.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()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

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

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

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

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

Implementazioni dell'interfaccia esplicita

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

Restituisce il valore dell'attributo del controllo elemento di elenco con il nome di attributo specificato.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)

Imposta un attributo del controllo elemento di elenco con il nome e il valore specificati.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)

Consente alla proprietà Text di essere mantenuta come contenuto interno.Allows the Text property to be persisted as inner content.

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

Per una descrizione di questo membro, vedere IsTrackingViewState.For a description of this member, see IsTrackingViewState.

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

Per una descrizione di questo membro, vedere LoadViewState(Object).For a description of this member, see LoadViewState(Object).

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

Per una descrizione di questo membro, vedere SaveViewState().For a description of this member, see SaveViewState().

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

Per una descrizione di questo membro, vedere TrackViewState().For a description of this member, see TrackViewState().

Si applica a

Vedi anche