ListItem Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje datovou položku v ovládacím prvku seznamu vázaného na data. Tuto třídu nelze zdědit.
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
- Dědičnost
-
ListItem
- Atributy
- Implementuje
Příklady
Následující příklad znázorňuje použití ovládacích ListItem prvků v ovládacím ListBox prvku.
Poznámka:
Následující ukázky kódu používají model kódu s jedním souborem a nemusí při kopírování přímo do souboru kódu fungovat správně. Každý vzorový kód musí být zkopírován do prázdného textového souboru, který má příponu .aspx. Další informace o modelu kódu webového formuláře najdete v tématu ASP.NET model kódu stránky webového formuláře.
<%@ 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>
Poznámky
Ovládací ListItem prvek představuje jednotlivé datové položky v rámci ovládacího prvku seznamu vázaného RadioButtonList na data, například ListBox ovládací prvek nebo ovládací prvek.
Existuje několik způsobů, jak zadat text zobrazený pro položku v ovládacím prvku seznam. Nejběžnější metodou je umístění textu do vnitřního obsahu HTML. Vnitřní obsah HTML je text mezi levou a pravou značkou ListItem ovládacího prvku. Vlastnost můžete také použít Text k určení textu zobrazeného v ovládacím prvku seznamu položky.
Vlastnost Value umožňuje přidružit hodnotu k položce v ovládacím prvku seznam, kromě textu zobrazeného v ovládacím prvku. Můžete například zobrazit text pro položku v ovládacím prvku seznamu, například "Item 1", a použít Value vlastnost k určení hodnoty pro danou položku, například "$1.99".
Můžete mít libovolnou kombinaci vnitřního obsahu HTML nebo TextValue sady vlastností. Výsledný výstup HTML pro ListItem ovládací prvek závisí na kombinaci těchto tří vlastností, které jsou nastaveny. Pokud jsou například všechny tři vlastnosti nastaveny takto:
<asp:ListItem Value="Value 1" Text="Item 1">Inner 1</asp:ListItem>
Vnitřní obsah HTML se používá pro vykreslený vnitřní obsah HTML a Value vlastnost se používá pro Value atribut. Výsledný výstup vykreslování HTML je následující:
<option value="Value 1">Inner 1</option>
Následující tabulka uvádí kombinaci vlastností sady a odpovídající vlastnosti použité pro vykreslený vnitřní obsah a Value atribut HTML. Tři sloupce v levém seznamu jsou kombinací vlastností sady. Dva sloupce v pravém seznamu, které hodnoty vlastnosti se používají pro odpovídající atribut.
| Vnitřní obsah HTML | Text – vlastnost | Value – vlastnost | Vykreslený vnitřní obsah HTML | Atribut Rendered Value |
|---|---|---|---|---|
| Nastavit | Nastavit | Nastavit | Vnitřní obsah HTML | Value – vlastnost |
| Nastavit | Nastavit | Nenastaveno | Vnitřní obsah HTML | Vnitřní obsah HTML |
| Nastavit | Nenastaveno | Nastavit | Vnitřní obsah HTML | Value – vlastnost |
| Nastavit | Nenastaveno | Nenastaveno | Vnitřní obsah HTML | Vnitřní text HTML |
| Nenastaveno | Nastavit | Nastavit | Text – vlastnost | Value – vlastnost |
| Nenastaveno | Nastavit | Nenastaveno | Text – vlastnost | Text – vlastnost |
| Nenastaveno | Nenastaveno | Nastavit | Value – vlastnost | Value – vlastnost |
| Nenastaveno | Nenastaveno | Nenastaveno | Nenastaveno | Nenastaveno |
Poznámka:
Vzhledem k tomu, že Text každá vlastnost má Value výchozí hodnotu prázdného řetězce, je možné mít prázdné položky seznamu v ovládacím prvku seznam.
Když se zobrazí ovládací prvek seznamu, zobrazí se v ovládacím prvku zvýrazněný libovolný ListItem ovládací prvek se Selected sadou true vlastností.
Ovládací ListItem prvek poskytuje Enabled vlastnost, která umožňuje určit, zda ListItem je ovládací prvek povolený nebo zakázaný. Ovládací ListItem prvek, který je zakázán, je neaktivní, aby bylo možné ho vybrat. Tato vlastnost slouží k zakázání ListItem ovládacího prvku v ovládacím RadioButtonList prvku nebo ovládacím CheckBoxList prvku.
Poznámka:
Tuto vlastnost nelze použít k zakázání ListItem ovládacího prvku v ovládacím prvku nebo ListBox ovládacím DropDownList prvku.
Seznam počátečních hodnot vlastností pro instanci ListItemnaleznete v konstruktoru ListItem .
Upozornění
Tento ovládací prvek lze použít k zobrazení vstupu uživatele, který může obsahovat škodlivý klientský skript. Před zobrazením v aplikaci zkontrolujte všechny informace odeslané z klienta pro spustitelný skript, příkazy SQL nebo jiný kód. Ověřovací ovládací prvky můžete použít k ověření uživatelského vstupu před zobrazením vstupního textu v ovládacím prvku. ASP.NET poskytuje funkci ověřování vstupních požadavků pro blokování skriptu a kódu HTML ve vstupu uživatele. Další informace naleznete v tématu Zabezpečení standardních ovládacích prvků, Postupy: Ochrana před zneužitím skriptů ve webové aplikaci použitím kódování HTML na řetězce a ověřování uživatelského vstupu na ASP.NET webových stránek.
Konstruktory
| Name | Description |
|---|---|
| ListItem() |
Inicializuje novou instanci ListItem třídy. |
| ListItem(String, String, Boolean) |
Inicializuje novou instanci ListItem třídy se zadaným textem, hodnotou a povolenými daty. |
| ListItem(String, String) |
Inicializuje novou instanci ListItem třídy se zadaným textem a údaji hodnoty. |
| ListItem(String) |
Inicializuje novou instanci ListItem třídy se zadanými textovými daty. |
Vlastnosti
| Name | Description |
|---|---|
| Attributes |
Získá kolekci dvojic název a hodnota atributu ListItem , které nejsou přímo podporovány třídou. |
| Enabled |
Získá nebo nastaví hodnotu označující, zda je položka seznamu povolena. |
| Selected |
Získá nebo nastaví hodnotu určující, zda je položka vybrána. |
| Text |
Získá nebo nastaví text zobrazený v ovládacím prvku seznamu pro položku reprezentovanou ListItem. |
| Value |
Získá nebo nastaví hodnotu přidruženou k ListItem. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda zadaný objekt má stejnou hodnotu a text jako aktuální položka seznamu. |
| FromString(String) |
Vytvoří ze ListItem zadaného textu text. |
| GetHashCode() |
Slouží jako hashovací funkce pro určitý typ a je vhodná pro použití v algoritmech hash a datových strukturách, jako je tabulka hash. |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| IAttributeAccessor.GetAttribute(String) |
Vrátí hodnotu atributu ovládacího prvku položky seznamu, který má zadaný název atributu. |
| IAttributeAccessor.SetAttribute(String, String) |
Nastaví atribut ovládacího prvku položky seznamu se zadaným názvem a hodnotou. |
| IParserAccessor.AddParsedSubObject(Object) |
Text Umožňuje zachovat vlastnost jako vnitřní obsah. |
| IStateManager.IsTrackingViewState |
Popis tohoto člena naleznete v tématu IsTrackingViewState. |
| IStateManager.LoadViewState(Object) |
Popis tohoto člena naleznete v tématu LoadViewState(Object). |
| IStateManager.SaveViewState() |
Popis tohoto člena naleznete v tématu SaveViewState(). |
| IStateManager.TrackViewState() |
Popis tohoto člena naleznete v tématu TrackViewState(). |
Platí pro
Viz také
- ListControl
- RadioButtonList
- ListBox
- DropDownList
- CheckBoxList
- Přehled ovládacího prvku Web Server ListBox
- Přehled ovládacích prvků webového serveru RadioButton a RadioButtonList
- Přehled ovládacího prvku Webový server BulletedList
- Přehled ovládacího prvku Webový server DropDownList
- Zabezpečení standardních ovládacích prvků
- Postupy: Ochrana před zneužitím skriptů ve webové aplikaci použitím kódování HTML na řetězce
- Úvod k ověřování uživatelského vstupu na webových stránkách ASP.NET