Exporter (0) Imprimer
Développer tout

ListItem, classe

Représente un élément de données dans un contrôle de liste lié aux données. Cette classe ne peut pas être héritée.

Espace de noms : System.Web.UI.WebControls
Assembly : System.Web (dans system.web.dll)

public sealed class ListItem : IStateManager, IParserAccessor, IAttributeAccessor
public final class ListItem implements IStateManager, IParserAccessor, 
	IAttributeAccessor
public final class ListItem implements IStateManager, IParserAccessor, 
	IAttributeAccessor

Un contrôle ListItem représente un élément de données individuel dans un contrôle de liste lié aux données, tel qu'un contrôle ListBox ou RadioButtonList.

Il y a plusieurs façons de spécifier quel texte sera affiché pour un élément du contrôle de liste. La méthode la plus courante consiste à placer le texte dans le contenu HTML interne. Le contenu HTML interne est le texte situé entre les balises d'ouverture et de fermeture du contrôle ListItem. Vous pouvez également utiliser la propriété Text pour spécifier le texte à afficher dans le contrôle de liste de l'élément.

La propriété Value permet d'associer une valeur à un élément du contrôle de liste, outre le texte affiché dans le contrôle. Par exemple, vous pouvez afficher le texte d'un élément du contrôle de liste, tel que "Item 1" puis, avec la propriété Value, spécifier la valeur de cet élément, par exemple "$1.99".

La propriété Text ou Value étant définie, toute combinaison du contenu HTML interne est possible. La sortie HTML qui résulte du contrôle ListItem dépend de la combinaison de ces trois propriétés définies. Par exemple, si les trois propriétés sont définies de la manière suivante :

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

Le contenu HTML interne est utilisé pour le contenu HTML interne rendu et la propriété Value est utilisée pour l'attribut Value. Voici la sortie de rendu HTML :

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

Le tableau suivant répertorie la combinaison des propriétés définies et de la propriété correspondante, utilisée pour le contenu HTML interne et l'attribut Value. Les trois colonnes de gauche énumèrent les combinaisons de propriétés définies. Les deux colonnes de droite indiquent la valeur utilisée par la propriété pour l'attribut correspondant.

Contenu HTML interne

Text, propriété

Value, propriété

Contenu HTML interne rendu

Attribut Value rendu

Définie

Définie

Définie

Contenu HTML interne

Value, propriété

Définie

Définie

Non définie

Contenu HTML interne

Contenu HTML interne

Définie

Non définie

Définie

Contenu HTML interne

Value, propriété

Définie

Non définie

Non définie

Contenu HTML interne

Texte HTML interne

Non définie

Définie

Définie

Text, propriété

Value, propriété

Non définie

Définie

Non définie

Text, propriété

Text, propriété

Non définie

Non définie

Définie

Value, propriété

Value, propriété

Non définie

Non définie

Non définie

Non définie

Non définie

RemarqueRemarque

Étant donné que les propriétés Text et Value ont une chaîne vide comme valeur par défaut, il est possible d'avoir des éléments de liste vides dans le contrôle de liste.

Lorsqu'un contrôle de liste est affiché, tout contrôle ListItem dont la propriété Selected a la valeur true apparaît en surbrillance dans le contrôle.

Le contrôle ListItem fournit la propriété Enabled pour vous permettre de spécifier si un contrôle ListItem est activé ou désactivé. Un contrôle ListItem qui est désactivé est estompé pour indiquer qu'il ne peut pas être sélectionné. Utilisez cette propriété pour désactiver un contrôle ListItem dans un contrôle RadioButtonList ou dans un contrôle CheckBoxList.

RemarqueRemarque

Vous ne pouvez pas utiliser cette propriété pour désactiver un contrôle ListItem dans un contrôle DropDownList ou dans un contrôle ListBox.

Pour obtenir la liste des valeurs de propriétés initiales d'une instance de ListItem, consultez le constructeur ListItem.

AttentionAttention

Ce contrôle peut être utilisé pour afficher des entrées d'utilisateur qui peuvent inclure un script client malveillant. Vérifiez toutes les informations envoyées par un client pour un script exécutable, des instructions SQL ou un autre code avant de les afficher dans votre application. Vous pouvez utiliser des contrôles de validation pour vérifier l'entrée d'utilisateur avant d'afficher le texte d'entrée dans un contrôle. ASP.NET fournit une fonctionnalité de validation de la demande d'entrée pour bloquer les scripts et le code HTML dans les entrées d'utilisateur. Pour plus d'informations, consultez Sécurisation de contrôles standard, Comment : se protéger contre les attaques de script dans une application Web en utilisant le codage HTML et Validation des entrées d'utilisateur dans des pages Web ASP.NET.

RubriqueEmplacement
Comment : ajouter des éléments dans des contrôles serveur Web List (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Comment : déterminer la sélection dans un contrôle serveur Web ListGénération d'applications Web ASP.NET
Comment : ajouter des éléments dans des contrôles serveur Web List (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Comment : déterminer la sélection dans un contrôle serveur Web ListGénération d'applications Web ASP.NET dans Visual Studio
Comment : définir des propriétés de contrôle serveur Web dans les collectionsGénération d'applications Web ASP.NET dans Visual Studio
Comment : ajouter des éléments dans des contrôles serveur Web List (Visual Studio)Génération d'applications Web ASP.NET dans Visual Studio
Comment : déterminer la sélection dans un contrôle serveur Web ListGénération d'applications Web ASP.NET dans Visual Studio
Comment : définir des propriétés de contrôle serveur Web dans les collectionsGénération d'applications Web ASP.NET dans Visual Studio
Comment : définir des propriétés de contrôle serveur Web dans les collectionsGénération d'applications Web ASP.NET
Comment : ajouter des éléments dans des contrôles serveur Web ListGénération d'applications Web ASP.NET

L'exemple suivant illustre l'utilisation de contrôles ListItem dans un contrôle ListBox.

RemarqueRemarque

Les exemples de code suivants utilisent un modèle de code de fichier unique ; il est possible qu'ils ne fonctionnent pas correctement s'ils sont directement copiés dans un fichier code-behind. Chaque exemple de code doit être copié dans un fichier texte vide doté d'une extension .aspx. Pour plus d'informations sur le modèle de code Web Forms, consultez Modèle de code des pages Web ASP.NET.

<%@ 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>
          

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

...<%@ 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>

  • AspNetHostingPermission  pour opérer dans un environnement hébergé. Valeur de la demande : LinkDemand. Valeur d'autorisation : Minimal.
  • AspNetHostingPermission  pour opérer dans un environnement hébergé. Valeur de la demande : InheritanceDemand. Valeur d'autorisation : Minimal.

System.Object
  System.Web.UI.WebControls.ListItem

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft