ListViewUpdateEventArgs 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í.
Poskytuje data pro událost ItemUpdating.
public ref class ListViewUpdateEventArgs : System::ComponentModel::CancelEventArgs
public class ListViewUpdateEventArgs : System.ComponentModel.CancelEventArgs
type ListViewUpdateEventArgs = class
inherit CancelEventArgs
Public Class ListViewUpdateEventArgs
Inherits CancelEventArgs
- Dědičnost
Příklady
Následující příklad ukazuje, jak pomocí NewValues vlastnosti zajistit, aby uživatel zadal všechny hodnoty před aktualizací zdroje dat.
Důležité
Tento příklad obsahuje textové pole, které přijímá vstup uživatele, což je potenciální bezpečnostní hrozba. Ve výchozím nastavení ASP.NET webové stránky ověřte, že uživatelský vstup neobsahuje skript nebo elementy HTML. Další informace najdete v tématu Přehled zneužití skriptů.
<%@ Page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load()
{
Message.Text = String.Empty;
}
//<Snippet2>
void ContactsListView_ItemUpdating(Object sender, ListViewUpdateEventArgs e)
{
// Cancel the update operation if any of the fields is empty
// or null.
foreach (DictionaryEntry de in e.NewValues)
{
// Check if the value is null or empty.
if (de.Value == null || de.Value.ToString().Trim().Length == 0)
{
Message.Text = "Cannot set a field to an empty value.";
e.Cancel = true;
}
}
// Convert the email address to lowercase.
String emailValue = e.NewValues["EmailAddress"].ToString();
e.NewValues["EmailAddress"] = emailValue.ToLower();
}
//</Snippet2>
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ListView.ItemUpdating Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ListView.ItemUpdating Example</h3>
<asp:Label ID="Message"
ForeColor="Red"
runat="server"/>
<br/>
<asp:ListView ID="ContactsListView"
DataSourceID="ContactsDataSource"
DataKeyNames="ContactID"
OnItemUpdating="ContactsListView_ItemUpdating"
runat="server">
<LayoutTemplate>
<table cellpadding="2" border="1" runat="server" id="tblContacts" width="640px">
<tr runat="server" id="itemPlaceholder" />
</table>
<asp:DataPager runat="server" ID="PeopleDataPager" PageSize="12">
<Fields>
<asp:NextPreviousPagerField
ShowFirstPageButton="true" ShowLastPageButton="true"
FirstPageText="|<< " LastPageText=" >>|"
NextPageText=" > " PreviousPageText=" < " />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td valign="top">
<asp:Label ID="FirstNameLabel" runat="server" Text='<%#Eval("FirstName") %>' />
<asp:Label ID="LastNameLabel" runat="server" Text='<%#Eval("LastName") %>' />
</td>
<td>
<asp:Label ID="EmailLabel" runat="server" Text='<%#Eval("EmailAddress") %>' />
</td>
<td>
<asp:LinkButton ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
</td>
</tr>
</ItemTemplate>
<EditItemTemplate>
<tr style="background-color:#ADD8E6">
<td valign="top">
<asp:Label runat="server" ID="FirstNameLabel"
AssociatedControlID="FirstNameTextBox" Text="First Name"/>
<asp:TextBox ID="FirstNameTextBox" runat="server" Width="200px"
Text='<%#Bind("FirstName") %>' MaxLength="50" /><br />
<asp:Label runat="server" ID="LastNameLabel"
AssociatedControlID="LastNameTextBox" Text="Last Name" />
<asp:TextBox ID="LastNameTextBox" runat="server" Width="200px"
Text='<%#Bind("LastName") %>' MaxLength="50" /><br />
<asp:Label runat="server" ID="EmailLabel"
AssociatedControlID="EmailTextBox" Text="Email" />
<asp:TextBox ID="EmailTextBox" runat="server" Width="200px"
Text='<%#Bind("EmailAddress") %>' MaxLength="50" />
</td>
<td colspan="2" valign="top">
<asp:LinkButton ID="UpdateButton" runat="server" CommandName="Update" Text="Update" />
<asp:LinkButton ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" />
</td>
</tr>
</EditItemTemplate>
</asp:ListView>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="ContactsDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [ContactID], [FirstName], [LastName], [EmailAddress]
FROM Person.Contact"
UpdateCommand="UPDATE Person.Contact
Set [FirstName] = @FirstName, [LastName] = @LastName, [EmailAddress] = @EmailAddress
WHERE [ContactID] = @ContactID">
</asp:SqlDataSource>
</form>
</body>
</html>
<%@ Page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Page_Load()
Message.Text = String.Empty
End Sub
'<Snippet2>
Sub ContactsListView_ItemUpdating(ByVal sender As Object, ByVal e As ListViewUpdateEventArgs)
' Cancel the update operation if any of the fields is empty
' or null.
For Each de As DictionaryEntry In e.NewValues
' Check if the value is null or empty
If de.Value Is Nothing OrElse de.Value.ToString().Trim().Length = 0 Then
Message.Text = "Cannot set a field to an empty value."
e.Cancel = True
End If
Next
' Convert the email address to lowercase.
Dim emailValue As String = e.NewValues("EmailAddress").ToString()
e.NewValues("EmailAddress") = emailValue.ToLower()
End Sub
'</Snippet2>
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ListView.ItemUpdating Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ListView.ItemUpdating Example</h3>
<asp:Label ID="Message"
ForeColor="Red"
runat="server"/>
<br/>
<asp:ListView ID="ContactsListView"
DataSourceID="ContactsDataSource"
DataKeyNames="ContactID"
OnItemUpdating="ContactsListView_ItemUpdating"
runat="server">
<LayoutTemplate>
<table cellpadding="2" border="1" runat="server" id="tblContacts" width="640px">
<tr runat="server" id="itemPlaceholder" />
</table>
<asp:DataPager runat="server" ID="PeopleDataPager" PageSize="12">
<Fields>
<asp:NextPreviousPagerField
ShowFirstPageButton="true" ShowLastPageButton="true"
FirstPageText="|<< " LastPageText=" >>|"
NextPageText=" > " PreviousPageText=" < " />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td valign="top">
<asp:Label ID="FirstNameLabel" runat="server" Text='<%#Eval("FirstName") %>' />
<asp:Label ID="LastNameLabel" runat="server" Text='<%#Eval("LastName") %>' />
</td>
<td>
<asp:Label ID="EmailLabel" runat="server" Text='<%#Eval("EmailAddress") %>' />
</td>
<td>
<asp:LinkButton ID="EditButton" runat="server" CommandName="Edit" Text="Edit" />
</td>
</tr>
</ItemTemplate>
<EditItemTemplate>
<tr style="background-color:#ADD8E6">
<td valign="top">
<asp:Label runat="server" ID="FirstNameLabel"
AssociatedControlID="FirstNameTextBox" Text="First Name"/>
<asp:TextBox ID="FirstNameTextBox" runat="server" Width="200px"
Text='<%#Bind("FirstName") %>' MaxLength="50" /><br />
<asp:Label runat="server" ID="LastNameLabel"
AssociatedControlID="LastNameTextBox" Text="Last Name" />
<asp:TextBox ID="LastNameTextBox" runat="server" Width="200px"
Text='<%#Bind("LastName") %>' MaxLength="50" /><br />
<asp:Label runat="server" ID="EmailLabel"
AssociatedControlID="EmailTextBox" Text="Email" />
<asp:TextBox ID="EmailTextBox" runat="server" Width="200px"
Text='<%#Bind("EmailAddress") %>' MaxLength="50" />
</td>
<td colspan="2" valign="top">
<asp:LinkButton ID="UpdateButton" runat="server" CommandName="Update" Text="Update" />
<asp:LinkButton ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" />
</td>
</tr>
</EditItemTemplate>
</asp:ListView>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="ContactsDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [ContactID], [FirstName], [LastName], [EmailAddress]
FROM Person.Contact"
UpdateCommand="UPDATE Person.Contact
Set [FirstName] = @FirstName, [LastName] = @LastName, [EmailAddress] = @EmailAddress
WHERE [ContactID] = @ContactID">
</asp:SqlDataSource>
</form>
</body>
</html>
Poznámky
Ovládací ListView prvek vyvolá ItemUpdating událost při UpdateItem zavolání metody nebo při kliknutí na tlačítko Aktualizovat položky, ale předtím, než ListView ovládací prvek aktualizuje položku. (Tlačítko Aktualizovat je tlačítko, jehož CommandName
vlastnost je nastavená na "Update".) To vám umožní poskytnout metodu zpracování událostí, která provádí vlastní rutinu pokaždé, když dojde k této události, například zrušení operace aktualizace.
ListViewUpdateEventArgs Objekt je předán metodě zpracování událostí. Tento objekt umožňuje určit index aktuální položky a určit, že má být operace aktualizace zrušena. Pokud chcete operaci aktualizace zrušit, nastavte Cancel vlastnost objektu ListViewUpdateEventArgs na true
. Můžete také pracovat s kolekcemi Keys, OldValuesa NewValues před předáním hodnot do zdroje dat. Typickým způsobem použití těchto kolekcí je ověření nebo zakódování hodnot zadaných uživatelem ve formátu HTML před uložením těchto hodnot ve zdroji dat. To může pomoct zabránit útokům prostřednictvím injektáže skriptů.
Seznam počátečních hodnot vlastností pro instanci ListViewUpdateEventArgs třídy naleznete v konstruktoru ListViewSelectEventArgs .
Konstruktory
ListViewUpdateEventArgs(Int32) |
Inicializuje novou instanci ListViewUpdateEventArgs třídy . |
Vlastnosti
Cancel |
Získá nebo nastaví hodnotu označující, zda má být událost zrušena. (Zděděno od CancelEventArgs) |
ItemIndex |
Získá index položky dat, která je aktualizována. |
Keys |
Získá slovník dvojic název/hodnota pole, které představují klíč nebo klíče položky k aktualizaci. |
NewValues |
Získá slovník, který obsahuje revidované hodnoty položky k aktualizaci. |
OldValues |
Získá slovník, který obsahuje původní hodnoty položky k aktualizaci. |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |