ListItem Sınıf

Tanım

Veriye bağlı liste denetimindeki bir veri öğesini temsil eder. Bu sınıf devralınamaz.

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
[<System.ComponentModel.TypeConverter(typeof(System.ComponentModel.ExpandableObjectConverter))>]
type ListItem = class
    interface IStateManager
    interface IParserAccessor
    interface IAttributeAccessor
Public NotInheritable Class ListItem
Implements IAttributeAccessor, IParserAccessor, IStateManager
Devralma
ListItem
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki örnekte denetim içindeki ListBox denetimlerin ListItem kullanımı gösterilmektedir.

Not

Aşağıdaki kod örnekleri tek dosyalı kod modelini kullanır ve doğrudan arka planda kod dosyasına kopyalandığında düzgün çalışmayabilir. Her kod örneği, .aspx uzantısına sahip boş bir metin dosyasına kopyalanmalıdır. Web Forms kod modeli hakkında daha fazla bilgi için bkz. ASP.NET Web Forms Sayfa Kodu Modeli.

<%@ 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çıklamalar

Denetim ListItem , veya gibi ListBox bir veriye bağlı liste denetimi içindeki tek bir RadioButtonList veri öğesini temsil eder.

Liste denetimindeki bir öğe için görüntülenen metni belirtmenin çeşitli yolları vardır. En yaygın yöntem, iç HTML içeriğine metin yerleştirmektir. İç HTML içeriği, denetimin açma ve kapatma etiketleri arasındaki metindir ListItem . Öğesinin liste denetiminde Text görüntülenen metni belirtmek için özelliğini de kullanabilirsiniz.

Value özelliği, bir değeri denetimde görüntülenen metne ek olarak liste denetimindeki öğeyle ilişkilendirmenize olanak tanır. Örneğin, gibi liste denetimindeki "Item 1"bir öğenin metnini görüntüleyebilir ve bu öğe "$1.99"için gibi bir değer belirtmek için özelliğini kullanabilirsinizValue.

İç HTML içeriğinin, Textveya Value özelliklerin herhangi bir bileşimini ayarlayabilirsiniz. Denetimin ListItem elde edilen HTML çıkışı, ayarlanan bu üç özelliğin bileşimine bağlıdır. Örneğin, üç özelliğin tümü de aşağıdaki gibi ayarlanırsa:

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

İç HTML içeriği işlenmiş iç HTML içeriği için kullanılır ve Value özelliği özniteliği için Value kullanılır. Sonuçta elde edilen HTML işleme çıkışı:

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

Aşağıdaki tabloda, küme özelliklerinin ve işlenen iç HTML içeriği ve Value özniteliği için kullanılan ilgili özelliğin birleşimi listelenmiştir. Soldaki üç sütun, küme özelliklerinin birleşimini listeler. Sağdaki iki sütun, ilgili öznitelik için hangi özellik değerinin kullanıldığını gösterir.

İç HTML içeriği Metin özelliği Value özelliği İşlenmiş İç HTML içeriği İşlenmiş Değer özniteliği
Ayarla Ayarla Ayarla İç HTML içeriği Value özelliği
Ayarla Ayarla Ayarlı değil İç HTML içeriği İç HTML içeriği
Ayarla Ayarlı değil Ayarla İç HTML içeriği Value özelliği
Ayarla Ayarlı değil Ayarlı değil İç HTML içeriği İç HTML metni
Ayarlı değil Ayarla Ayarla Metin özelliği Value özelliği
Ayarlı değil Ayarla Ayarlı değil Metin özelliği Metin özelliği
Ayarlı değil Ayarlı değil Ayarla Value özelliği Value özelliği
Ayarlı değil Ayarlı değil Ayarlı değil Ayarlı değil Ayarlı değil

Not

Text ve Value özelliklerinin her birinin varsayılan değeri boş bir dize olduğundan, liste denetiminde boş liste öğeleri olması mümkündür.

Liste denetimi görüntülendiğinde, özelliği olarak ayarlanmış true tüm ListItem denetimler Selected denetimde vurgulanmış olarak görünür.

Denetim, ListItem bir ListItem denetimin Enabled etkinleştirilip etkinleştirilmediğini veya devre dışı bırakılacağını belirtmenize olanak sağlayan özelliği sağlar. ListItem Devre dışı bırakılan denetim, seçilemeyeceğini belirtmek için soluk görüntülenir. Bir denetimde veya CheckBoxList denetimde RadioButtonList denetimi ListItem devre dışı bırakmak için bu özelliği kullanın.

Not

Denetim veya ListBox denetimdeki DropDownList bir ListItem denetimi devre dışı bırakmak için bu özelliği kullanamazsınız.

örneğinin ilk özellik değerlerinin ListItemlistesi için oluşturucuya ListItem bakın.

Dikkat

Bu denetim, kötü amaçlı istemci betiği içerebilecek kullanıcı girişini görüntülemek için kullanılabilir. Uygulamanızda görüntülemeden önce bir istemciden yürütülebilir betik, SQL deyimleri veya başka bir kod için gönderilen tüm bilgileri denetleyin. Denetimde giriş metnini görüntülemeden önce kullanıcı girişini doğrulamak için doğrulama denetimlerini kullanabilirsiniz. ASP.NET, kullanıcı girişinde betiği ve HTML'yi engellemek için bir giriş isteği doğrulama özelliği sağlar. Daha fazla bilgi için bkz. Standart Denetimlerin Güvenliğini Sağlama, Nasıl yapılır: Dizelere HTML Kodlaması Uygulayarak ve ASP.NET Web Sayfalarında Kullanıcı Girişini Doğrulayarak Web Uygulamasında Betik Açıklarından Yararlanmaya Karşı Koruma.

Oluşturucular

ListItem()

ListItem sınıfının yeni bir örneğini başlatır.

ListItem(String)

Belirtilen metin verileriyle sınıfının yeni bir örneğini ListItem başlatır.

ListItem(String, String)

Belirtilen metin ve değer verileriyle sınıfının yeni bir örneğini ListItem başlatır.

ListItem(String, String, Boolean)

Belirtilen metin, değer ve etkin verilerle sınıfının yeni bir örneğini ListItem başlatır.

Özellikler

Attributes

sınıfı tarafından doğrudan desteklenmeyen için ListItem öznitelik adı ve değer çiftleri koleksiyonunu alır.

Enabled

Liste öğesinin etkinleştirilip etkinleştirilmediğini belirten bir değer alır veya ayarlar.

Selected

Öğenin seçili olup olmadığını belirten bir değer alır veya ayarlar.

Text

tarafından ListItemtemsil edilen öğe için bir liste denetiminde görüntülenen metni alır veya ayarlar.

Value

ile ListItemilişkili değeri alır veya ayarlar.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli liste öğesiyle aynı değere ve metne sahip olup olmadığını belirler.

FromString(String)

Belirtilen metinden bir ListItem oluşturur.

GetHashCode()

Belirli bir tür için karma işlevi işlevi görür ve karma algoritmalarında ve karma tablo gibi veri yapılarında kullanıma uygundur.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

Belirtik Arabirim Kullanımları

IAttributeAccessor.GetAttribute(String)

Belirtilen öznitelik adına sahip liste öğesi denetiminin öznitelik değerini döndürür.

IAttributeAccessor.SetAttribute(String, String)

Belirtilen ad ve değerle liste öğesi denetiminin özniteliğini ayarlar.

IParserAccessor.AddParsedSubObject(Object)

Özelliğin Text iç içerik olarak kalıcı olmasını sağlar.

IStateManager.IsTrackingViewState

Bu üyenin açıklaması için bkz IsTrackingViewState. .

IStateManager.LoadViewState(Object)

Bu üyenin açıklaması için bkz LoadViewState(Object). .

IStateManager.SaveViewState()

Bu üyenin açıklaması için bkz SaveViewState(). .

IStateManager.TrackViewState()

Bu üyenin açıklaması için bkz TrackViewState(). .

Şunlara uygulanır

Ayrıca bkz.