Bagikan melalui


ListItem Kelas

Definisi

Mewakili item data dalam kontrol daftar terikat data. Kelas ini tidak dapat diwariskan.

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
Warisan
ListItem
Atribut
Penerapan

Contoh

Contoh berikut mengilustrasikan penggunaan ListItem kontrol dalam ListBox kontrol.

Catatan

Sampel kode berikut menggunakan model kode file tunggal dan mungkin tidak berfungsi dengan benar jika disalin langsung ke file code-behind. Setiap sampel kode harus disalin ke dalam file teks kosong yang memiliki ekstensi .aspx. Untuk informasi selengkapnya tentang model kode Formulir Web, lihat Model Kode Halaman Formulir Web ASP.NET.

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

Keterangan

ListItem Kontrol mewakili item data individual dalam kontrol daftar terikat data, seperti ListBox atau RadioButtonList kontrol.

Ada beberapa cara untuk menentukan teks yang ditampilkan untuk item dalam kontrol daftar. Metode yang paling umum adalah dengan menempatkan teks dalam konten HTML dalam. Konten HTML dalam adalah teks antara tag ListItem pembuka dan penutup kontrol. Anda juga dapat menggunakan Text properti untuk menentukan teks yang ditampilkan dalam kontrol daftar untuk item tersebut.

Properti Value memungkinkan Anda mengaitkan nilai dengan item dalam kontrol daftar, selain teks yang ditampilkan dalam kontrol. Misalnya, Anda dapat menampilkan teks untuk item dalam kontrol daftar, seperti "Item 1", dan menggunakan properti untuk menentukan nilai untuk item tersebut Value , seperti "$1.99".

Anda dapat memiliki kombinasi konten HTML dalam, Text, atau Value kumpulan properti. Output HTML yang dihasilkan untuk ListItem kontrol tergantung pada kombinasi ketiga properti ini yang diatur. Misalnya, jika ketiga properti ditetapkan sebagai berikut:

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

Konten HTML dalam digunakan untuk konten HTML dalam yang dirender dan Value properti digunakan untuk Value atribut . Output penyajian HTML yang dihasilkan adalah:

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

Tabel berikut mencantumkan kombinasi properti set dan properti terkait yang digunakan untuk konten dan Value atribut HTML dalam yang dirender. Tiga kolom di sebelah kiri mencantumkan kombinasi properti set. Dua kolom di daftar kanan nilai properti mana yang digunakan untuk atribut yang sesuai.

Konten HTML dalam Properti teks Properti nilai Konten HTML Dalam yang Dirender Atribut Nilai yang Dirender
Set Set Set Konten HTML dalam Properti nilai
Set Set Belum diatur Konten HTML dalam Konten HTML dalam
Set Belum diatur Set Konten HTML dalam Properti nilai
Set Belum diatur Belum diatur Konten HTML dalam Teks HTML dalam
Belum diatur Set Set Properti teks Properti nilai
Belum diatur Set Belum diatur Properti teks Properti teks
Belum diatur Belum diatur Set Properti nilai Properti nilai
Belum diatur Belum diatur Belum diatur Belum diatur Belum diatur

Catatan

Text Karena properti dan Value masing-masing memiliki nilai default string kosong, dimungkinkan untuk memiliki item daftar kosong dalam kontrol daftar.

Saat kontrol daftar ditampilkan, kontrol apa pun ListItem dengan propertinya Selected diatur ke true muncul disorot dalam kontrol.

ListItem Kontrol menyediakan Enabled properti untuk memungkinkan Anda menentukan apakah ListItem kontrol diaktifkan atau dinonaktifkan. ListItem Kontrol yang dinonaktifkan diredupkan untuk menunjukkan bahwa kontrol tidak dapat dipilih. Gunakan properti ini untuk menonaktifkan ListItem kontrol dalam RadioButtonList kontrol atau CheckBoxList kontrol.

Catatan

Anda tidak dapat menggunakan properti ini untuk menonaktifkan ListItem kontrol dalam DropDownList kontrol atau ListBox kontrol.

Untuk daftar nilai properti awal untuk instans ListItem, lihat ListItem konstruktor.

Perhatian

Kontrol ini dapat digunakan untuk menampilkan input pengguna, yang mungkin menyertakan skrip klien berbahaya. Periksa informasi apa pun yang dikirim dari klien untuk skrip yang dapat dieksekusi, pernyataan SQL, atau kode lain sebelum menampilkannya di aplikasi Anda. Anda dapat menggunakan kontrol validasi untuk memverifikasi input pengguna sebelum menampilkan teks input dalam kontrol. ASP.NET menyediakan fitur validasi permintaan input untuk memblokir skrip dan HTML dalam input pengguna. Untuk informasi selengkapnya, lihat Mengamankan Kontrol Standar, Cara: Melindungi Dari Eksploitasi Skrip di Aplikasi Web dengan Menerapkan Pengodean HTML ke String, dan Memvalidasi Input Pengguna di Halaman Web ASP.NET.

Konstruktor

ListItem()

Menginisialisasi instans baru kelas ListItem.

ListItem(String)

Menginisialisasi instans ListItem baru kelas dengan data teks yang ditentukan.

ListItem(String, String)

Menginisialisasi instans ListItem baru kelas dengan teks dan data nilai yang ditentukan.

ListItem(String, String, Boolean)

Menginisialisasi instans ListItem baru kelas dengan teks, nilai, dan data yang diaktifkan yang ditentukan.

Properti

Attributes

Mendapatkan kumpulan nama atribut dan pasangan nilai untuk ListItem yang tidak didukung langsung oleh kelas .

Enabled

Mendapatkan atau menetapkan nilai yang menunjukkan apakah item daftar diaktifkan.

Selected

Mendapatkan atau menetapkan nilai yang menunjukkan apakah item dipilih.

Text

Mendapatkan atau mengatur teks yang ditampilkan dalam kontrol daftar untuk item yang diwakili oleh ListItem.

Value

Mendapatkan atau menetapkan nilai yang terkait dengan ListItem.

Metode

Equals(Object)

Menentukan apakah objek yang ditentukan memiliki nilai dan teks yang sama dengan item daftar saat ini.

FromString(String)

ListItem Membuat dari teks yang ditentukan.

GetHashCode()

Berfungsi sebagai fungsi hash untuk jenis tertentu, dan cocok untuk digunakan dalam algoritma hashing dan struktur data seperti tabel hash.

GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

Implementasi Antarmuka Eksplisit

IAttributeAccessor.GetAttribute(String)

Mengembalikan nilai atribut kontrol item daftar yang memiliki nama atribut yang ditentukan.

IAttributeAccessor.SetAttribute(String, String)

Mengatur atribut kontrol item daftar dengan nama dan nilai yang ditentukan.

IParserAccessor.AddParsedSubObject(Object)

Text Memungkinkan properti untuk dipertahankan sebagai konten dalam.

IStateManager.IsTrackingViewState

Untuk deskripsi anggota ini, lihat IsTrackingViewState.

IStateManager.LoadViewState(Object)

Untuk deskripsi anggota ini, lihat LoadViewState(Object).

IStateManager.SaveViewState()

Untuk deskripsi anggota ini, lihat SaveViewState().

IStateManager.TrackViewState()

Untuk deskripsi anggota ini, lihat TrackViewState().

Berlaku untuk

Lihat juga