DetailsViewDeleteEventArgs.Values Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar en ordlista över fältnamn/värdepar som inte är nyckelfält för objektet som ska tas bort.
public:
property System::Collections::Specialized::IOrderedDictionary ^ Values { System::Collections::Specialized::IOrderedDictionary ^ get(); };
public System.Collections.Specialized.IOrderedDictionary Values { get; }
member this.Values : System.Collections.Specialized.IOrderedDictionary
Public ReadOnly Property Values As IOrderedDictionary
Egenskapsvärde
En IOrderedDictionary som innehåller en ordlista med fältnamn/värdepar som inte är nyckelfält för objektet som ska tas bort.
Exempel
I följande kodexempel visas hur du använder Values egenskapen för att komma åt värdena för de icke-nyckelfält i posten som tas bort.
<%@ 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 CustomerDetailsView_ItemDeleting(Object sender,
DetailsViewDeleteEventArgs e)
{
// Get customer ID and name from the Keys and Values
// properties.
String keyValue = e.Keys["CustomerID"].ToString();
String customerName = e.Values["CompanyName"].ToString();
// Cancel the delete operation if the user attempts to
// delete protected record. In this example, records
// with a customer ID that starts with with "A" cannot
// be deleted.
if (keyValue.StartsWith("A"))
{
e.Cancel = true;
MessageLabel.Text = "You cannot delete " +
customerName + ". This customer is protected.";
}
else
{
MessageLabel.Text = "Row " + e.RowIndex.ToString() +
" deleted.";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsViewDeleteEventArgs Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewDeleteEventArgs Example</h3>
<asp:detailsview id="CustomerDetailsView"
datasourceid="DetailsViewSource"
datakeynames="CustomerID"
autogeneratedeletebutton="true"
autogeneraterows="true"
allowpaging="true"
onitemdeleting="CustomerDetailsView_ItemDeleting"
runat="server">
<fieldheaderstyle backcolor="Navy"
forecolor="White"/>
</asp:detailsview>
<asp:label id="MessageLabel"
forecolor="Red"
runat="server"/>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the web.config file. -->
<asp:sqldatasource id="DetailsViewSource"
selectcommand="Select [CustomerID], [CompanyName], [Address],
[City], [PostalCode], [Country] From [Customers]"
deletecommand="Delete [Customers]
Where [CustomerID]=@CustomerID"
connectionstring=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</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 CustomerDetailsView_ItemDeleting(ByVal sender As Object, _
ByVal e As DetailsViewDeleteEventArgs)
' Get customer ID and name from the Keys and Values
' properties.
Dim keyValue As String = e.Keys("CustomerID").ToString()
Dim customerName As String = e.Values("CompanyName").ToString()
' Cancel the delete operation if the user attempts to
' delete protected record. In this example, records
' with a customer ID that starts with with "A" cannot
' be deleted.
If keyValue.StartsWith("A") Then
e.Cancel = True
MessageLabel.Text = "You cannot delete " & _
customerName & ". This customer is protected."
Else
MessageLabel.Text = "Row " & e.RowIndex.ToString() & _
" deleted."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsViewDeleteEventArgs Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewDeleteEventArgs Example</h3>
<asp:detailsview id="CustomerDetailsView"
datasourceid="DetailsViewSource"
datakeynames="CustomerID"
autogeneratedeletebutton="true"
autogeneraterows="true"
allowpaging="true"
onitemdeleting="CustomerDetailsView_ItemDeleting"
runat="server">
<fieldheaderstyle backcolor="Navy"
forecolor="White"/>
</asp:detailsview>
<asp:label id="MessageLabel"
forecolor="Red"
runat="server"/>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the web.config file. -->
<asp:sqldatasource id="DetailsViewSource"
selectcommand="Select [CustomerID], [CompanyName], [Address],
[City], [PostalCode], [Country] From [Customers]"
deletecommand="Delete [Customers]
Where [CustomerID]=@CustomerID"
connectionstring=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</form>
</body>
</html>
Kommentarer
Använd egenskapen Values för att komma åt värdena för de icke-nyckelfält som posten ska tas bort. Du kan till exempel använda dessa värden för att verifiera posten innan du tar bort den eller för att behålla en logg över borttagna poster.
Note
Den här egenskapen innehåller inte nyckelfältet eller fälten. Använd egenskapen för att komma åt värdena för namn/värdepar för nyckelfältet eller fälten Keys .
Egenskapen Values returnerar ett objekt som implementerar IOrderedDictionary gränssnittet. Objektet innehåller DictionaryEntry objekt som representerar fält som inte är viktiga.
Note
Som en genväg kan du också använda indexeraren för IOrderedDictionary objektet för att komma åt fältvärdena. Fördelen med att använda indexeraren är att den returnerar fältvärden direkt.