DetailsViewDeleteEventArgs.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
속성 값
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 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>
설명
삭제 Keys 할 레코드의 키 필드 또는 필드 값에 액세스하려면 이 속성을 사용합니다. 예를 들어 이러한 값을 사용하여 레코드를 삭제하기 전에 확인하거나, 삭제할 레코드를 변경하거나, 삭제된 레코드의 로그를 유지할 수 있습니다.
메모
이 속성에는 키 필드만 포함됩니다. 키가 아닌 필드의 이름/값 쌍 값에 액세스하려면 이 속성을 사용합니다 Values .
이 속성은 Keys 인터페이스를 구현하는 개체를 IOrderedDictionary 반환합니다. 개체에는 DictionaryEntry 키 필드를 나타내는 개체가 포함됩니다.
메모
바로 가기로 개체의 IOrderedDictionary 인덱서로 키 필드 값에 액세스할 수도 있습니다. 인덱서를 사용할 때의 이점은 키 필드 값을 직접 반환한다는 것입니다.
이 속성은 읽기 전용입니다. 그러나 반환하는 개체의 키 필드 값을 수정할 IOrderedDictionary 수 있습니다. 키 필드 값을 변경하면 해당 레코드가 데이터 원본에서 삭제됩니다.