ListViewDeletedEventArgs.Keys 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取已删除项的键。
public:
property System::Collections::Specialized::IOrderedDictionary ^ Keys { System::Collections::Specialized::IOrderedDictionary ^ get(); };
public System.Collections.Specialized.IOrderedDictionary Keys { get; }
member this.Keys : System.Collections.Specialized.IOrderedDictionary
Public ReadOnly Property Keys As IOrderedDictionary
属性值
已删除项的键。
示例
以下示例演示如何使用 Keys 属性访问已删除项的键字段的值。
<%@ 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 ContactsListView_ItemDeleted(Object sender, ListViewDeletedEventArgs e)
{
// Display the value of the key fields in the Keys property.
KeysMessageLabel.Text =
"The key fields for the deleted record are: <br/>";
foreach (DictionaryEntry entry in e.Keys)
{
DisplayValue(entry, KeysMessageLabel);
}
// Display the value of the non-key fields in the Values
// property.
ValuesMessageLabel.Text =
"The non-key fields for the deleted record are: <br/>";
foreach (DictionaryEntry entry in e.Values)
{
DisplayValue(entry, ValuesMessageLabel);
}
}
void DisplayValue(DictionaryEntry entry, Label displayLabel)
{
// Display the field name contained in the DictionaryEntry object.
if (entry.Key != null)
{
displayLabel.Text += "Name=" + entry.Key.ToString() + ", ";
}
else
{
displayLabel.Text += "Name=null, ";
}
// Display the field value contained in the DictionaryEntry object.
if (entry.Value != null)
{
displayLabel.Text += "Value=" + entry.Value.ToString() + "<br/>";
}
else
{
displayLabel.Text += "Value=null<br/>";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ListViewDeletedEventArgs Keys and Values Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ListViewDeletedEventArgs Keys and Values Example</h3>
<asp:Label ID="Message"
ForeColor="Red"
runat="server"/>
<br/>
<asp:ListView ID="ContactsListView"
DataSourceID="ContactsDataSource"
DataKeyNames="ContactID"
OnItemDeleted="ContactsListView_ItemDeleted"
runat="server">
<LayoutTemplate>
<table cellpadding="2" runat="server" id="tblContacts" width="640px">
<tr id="itemPlaceholder" runat="server"></tr>
</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='<%#Bind("FirstName") %>' />
<asp:Label ID="LastNameLabel" runat="server" Text='<%#Bind("LastName") %>' />
</td>
<td>
<asp:Label ID="EmailLabel" runat="server" Text='<%#Bind("EmailAddress") %>' />
</td>
<td>
<asp:LinkButton ID="DeleteButton" runat="server"
CommandName="Delete"
Text="Delete"
OnClientClick="return confirm('Are you sure?');" />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<br/><br />
<asp:Label ID="KeysMessageLabel"
ForeColor="Red"
runat="server"/>
<br/>
<asp:Label ID="ValuesMessageLabel"
ForeColor="Red"
runat="server"/>
<!-- 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"
DeleteCommand="DELETE FROM Person.Contact WHERE [ContactID] = @ContactID">
<DeleteParameters>
<asp:Parameter Name="ContactID" Type="Int32" />
</DeleteParameters>
</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 ContactsListView_ItemDeleted(sender As Object, e As ListViewDeletedEventArgs)
' Display the value of the key fields in the Keys property.
KeysMessageLabel.Text = _
"The key fields for the deleted record are: <br/>"
For Each entry As DictionaryEntry In e.Keys
DisplayValue(entry, KeysMessageLabel)
Next
' Display the value of the non-key fields in the Values
' property.
ValuesMessageLabel.Text = _
"The non-key fields for the deleted record are: <br/>"
For Each entry As DictionaryEntry In e.Values
DisplayValue(entry, ValuesMessageLabel)
Next
End Sub
Sub DisplayValue(entry As DictionaryEntry, displayLabel As Label)
' Display the field name contained in the DictionaryEntry object.
If entry.Key IsNot Nothing Then
displayLabel.Text &= "Name=" & entry.Key.ToString() & ", "
Else
displayLabel.Text &= "Name=null, "
End If
' Display the field value contained in the DictionaryEntry object.
If entry.Value IsNot Nothing
displayLabel.Text &= "Value=" & entry.Value.ToString() & "<br/>"
else
displayLabel.Text &= "Value=null<br/>"
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ListViewDeletedEventArgs Keys and Values Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ListViewDeletedEventArgs Keys and Values Example</h3>
<asp:Label ID="Message"
ForeColor="Red"
runat="server"/>
<br/>
<asp:ListView ID="ContactsListView"
DataSourceID="ContactsDataSource"
DataKeyNames="ContactID"
OnItemDeleted="ContactsListView_ItemDeleted"
runat="server">
<LayoutTemplate>
<table cellpadding="2" runat="server" id="tblContacts" width="640px">
<tr id="itemPlaceholder" runat="server"></tr>
</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='<%#Bind("FirstName") %>' />
<asp:Label ID="LastNameLabel" runat="server" Text='<%#Bind("LastName") %>' />
</td>
<td>
<asp:Label ID="EmailLabel" runat="server" Text='<%#Bind("EmailAddress") %>' />
</td>
<td>
<asp:LinkButton ID="DeleteButton" runat="server"
CommandName="Delete"
Text="Delete"
OnClientClick="return confirm('Are you sure?');" />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<br/><br />
<asp:Label ID="KeysMessageLabel"
ForeColor="Red"
runat="server"/>
<br/>
<asp:Label ID="ValuesMessageLabel"
ForeColor="Red"
runat="server"/>
<!-- 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"
DeleteCommand="DELETE FROM Person.Contact WHERE [ContactID] = @ContactID">
<DeleteParameters>
<asp:Parameter Name="ContactID" Type="Int32" />
</DeleteParameters>
</asp:SqlDataSource>
</form>
</body>
</html>
注解
Keys使用 属性访问 (属性) 为已删除项指定的ListView.DataKeyNames键字段的值。 例如,可以使用这些值来保留已删除项的日志。
注意
此属性仅包含键字段。 若要访问非键字段,请使用 Values 属性。
Keys 属性返回一个实现 IOrderedDictionary 接口的对象。 对象包含 DictionaryEntry 表示已删除项目的关键字段的对象。