DetailsViewUpdatedEventArgs.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_ItemUpdated(Object sender,
DetailsViewUpdatedEventArgs e)
{
// Use the Exception property to determine whether an exception
// occurred during the insert operation.
if (e.Exception == null)
{
// Use the Values property to get the value entered by
// the user for the CompanyName field.
String keyFieldValue = e.Keys["CustomerID"].ToString();
// Display a confirmation message.
MessageLabel.Text = "Record " + keyFieldValue +
" updated successfully. ";
// Display the old and new values.
DisplayValues(e);
if (e.AffectedRows == 1)
{
MessageLabel.Text += e.AffectedRows.ToString() +
" record updated.";
}
else
{
MessageLabel.Text += e.AffectedRows.ToString() +
" records updated.";
}
}
else
{
// Insert the code to handle the exception.
MessageLabel.Text = e.Exception.Message;
// Use the ExceptionHandled property to indicate that the
// exception is already handled.
e.ExceptionHandled = true;
// When an exception occurs, keep the DetailsView
// control in edit mode.
e.KeepInEditMode = true;
}
}
void DisplayValues(DetailsViewUpdatedEventArgs e)
{
MessageLabel.Text += "<br/></br>";
// Iterate through the OldValue and NewValues
// properties and display the values.
for (int i = 0; i < e.OldValues.Count; i++)
{
MessageLabel.Text += "Old Value=" + e.OldValues[i].ToString() +
", New Value=" + e.NewValues[i].ToString() + "<br/>";
}
MessageLabel.Text += "</br>";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsViewUpdatedEventArgs Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewUpdatedEventArgs Example</h3>
<asp:detailsview id="CustomerDetailsView"
datasourceid="DetailsViewSource"
autogeneraterows="true"
autogenerateeditbutton="true"
allowpaging="true"
datakeynames="CustomerID"
onitemupdated="CustomerDetailsView_ItemUpdated"
runat="server">
<pagersettings position="Bottom"/>
</asp:detailsview>
<br/>
<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]"
updatecommand="Update [Customers] Set
[CompanyName]=@CompanyName, [Address]=@Address,
[City]=@City, [PostalCode]=@PostalCode,
[Country]=@Country
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_ItemUpdated(ByVal sender As Object, ByVal e As DetailsViewUpdatedEventArgs)
' Use the Exception property to determine whether an exception
' occurred during the insert operation.
If e.Exception Is Nothing Then
' Use the Values property to get the value entered by
' the user for the CompanyName field.
Dim keyFieldValue As String = e.Keys("CustomerID").ToString()
' Display a confirmation message.
MessageLabel.Text = "Record " & keyFieldValue & _
" updated successfully. "
' Display the old and new values.
DisplayValues(e)
If e.AffectedRows = 1 Then
MessageLabel.Text &= e.AffectedRows.ToString() & _
" record updated."
Else
MessageLabel.Text &= e.AffectedRows.ToString() & _
" records updated."
End If
Else
' Insert the code to handle the exception.
MessageLabel.Text = e.Exception.Message
' Use the ExceptionHandled property to indicate that the
' exception is already handled.
e.ExceptionHandled = True
' When an exception occurs, keep the DetailsView
' control in edit mode.
e.KeepInEditMode = True
End If
End Sub
Sub DisplayValues(ByVal e As DetailsViewUpdatedEventArgs)
MessageLabel.Text &= "<br/></br>"
' Iterate through the OldValue and NewValues
' properties and display the values.
Dim i As Integer
For i = 0 To e.OldValues.Count - 1
MessageLabel.Text &= "Old Value=" & e.OldValues(i).ToString() & _
", New Value=" & e.NewValues(i).ToString() & "<br/>"
Next
MessageLabel.Text &= "</br>"
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsViewUpdatedEventArgs Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewUpdatedEventArgs Example</h3>
<asp:detailsview id="CustomerDetailsView"
datasourceid="DetailsViewSource"
autogeneraterows="true"
autogenerateeditbutton="true"
allowpaging="true"
datakeynames="CustomerID"
onitemupdated="CustomerDetailsView_ItemUpdated"
runat="server">
<pagersettings position="Bottom"/>
</asp:detailsview>
<br/>
<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]"
updatecommand="Update [Customers] Set
[CompanyName]=@CompanyName, [Address]=@Address,
[City]=@City, [PostalCode]=@PostalCode,
[Country]=@Country
Where [CustomerID]=@CustomerID"
connectionstring=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</form>
</body>
</html>
설명
사용 된 Keys 업데이트 된 레코드에 대 한 키 필드의 값에 액세스 하는 속성입니다. 예를 들어, 업데이트 된 레코드의 로그를 유지할 이러한 값을 사용할 수 있습니다.
Keys 속성은 IOrderedDictionary 인터페이스를 구현하는 개체를 반환합니다. 개체에 DictionaryEntry 업데이트 된 레코드의 필드를 나타내는 개체입니다.
참고
인덱스를 이용할 수 있습니다 가기로 IOrderedDictionary 직접 값 필드에 액세스 하는 개체입니다.