DetailsViewDeletedEventHandler 委托
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示处理 ItemDeleted 控件的 DetailsView 事件的方法。
public delegate void DetailsViewDeletedEventHandler(System::Object ^ sender, DetailsViewDeletedEventArgs ^ e);
public delegate void DetailsViewDeletedEventHandler(object sender, DetailsViewDeletedEventArgs e);
type DetailsViewDeletedEventHandler = delegate of obj * DetailsViewDeletedEventArgs -> unit
Public Delegate Sub DetailsViewDeletedEventHandler(sender As Object, e As DetailsViewDeletedEventArgs)
参数
- sender
- Object
事件源。
示例
下面的代码示例演示如何以编程方式向 控件的 DetailsView 事件添加DetailsViewDeletedEventHandler委托ItemDeleted。
<%@ page language="C#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
// Create a new DetailsView object.
DetailsView customerDetailsView = new DetailsView();
// Set the DetailsView object's properties.
customerDetailsView.ID = "CustomerDetailsView";
customerDetailsView.DataSourceID = "DetailsViewSource";
customerDetailsView.AutoGenerateRows = true;
customerDetailsView.AutoGenerateDeleteButton = true;
customerDetailsView.AllowPaging = true;
customerDetailsView.PagerSettings.Mode =
PagerButtons.NextPrevious;
customerDetailsView.DataKeyNames = new String[1] { "CustomerID" };
// Programmatically register the event-handling method
// for the ItemDeleted event of a DetailsView control.
customerDetailsView.ItemDeleted +=
new DetailsViewDeletedEventHandler(
this.CustomerDetailView_ItemDeleted);
// Add the DetailsView object to the Controls collection
// of the PlaceHolder control.
DetailsViewPlaceHolder.Controls.Add(customerDetailsView);
}
void CustomerDetailView_ItemDeleted(Object sender,
DetailsViewDeletedEventArgs e)
{
// Use the Exception property to determine whether an exception
// occurred during the delete operation.
if (e.Exception == null)
{
// Use the AffectedRows property to determine the numbers of
// rows affected by the delete operation.
if (e.AffectedRows == 1)
{
MessageLabel.Text = e.AffectedRows.ToString()
+ " record deleted successfully.";
}
else
{
MessageLabel.Text = e.AffectedRows.ToString()
+ " records deleted successfully.";
}
}
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;
}
}
</script>
<head runat="server">
<title>DetailsViewDeletedEventHandler Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewDeletedEventHandler Example</h3>
<!-- Use a PlaceHolder control as the container for the -->
<!-- dynamically generated DetailsView control. -->
<asp:PlaceHolder id="DetailsViewPlaceHolder"
runat="server"/>
<br/><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]"
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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
' Create a new DetailsView object.
Dim customerDetailsView As New DetailsView()
' Set the DetailsView object's properties.
customerDetailsView.ID = "CustomerDetailsView"
customerDetailsView.DataSourceID = "DetailsViewSource"
customerDetailsView.AutoGenerateRows = True
customerDetailsView.AutoGenerateDeleteButton = True
customerDetailsView.AllowPaging = True
customerDetailsView.PagerSettings.Mode = _
PagerButtons.NextPrevious
Dim keyArray() As String = {"CustomerID"}
customerDetailsView.DataKeyNames = keyArray
' Programmatically register the event-handling method
' for the ItemDeleted event of a DetailsView control.
AddHandler customerDetailsView.ItemDeleted, _
AddressOf CustomerDetailView_ItemDeleted
' Add the DetailsView object to the Controls collection
' of the PlaceHolder control.
DetailsViewPlaceHolder.Controls.Add(customerDetailsView)
End Sub
Sub CustomerDetailView_ItemDeleted(ByVal sender As Object, _
ByVal e As DetailsViewDeletedEventArgs)
' Use the Exception property to determine whether an exception
' occurred during the delete operation.
If e.Exception Is Nothing Then
' Use the AffectedRows property to determine the numbers of
' rows affected by the delete operation.
If e.AffectedRows = 1 Then
MessageLabel.Text = e.AffectedRows.ToString() _
& " record deleted successfully."
Else
MessageLabel.Text = e.AffectedRows.ToString() _
& " records deleted successfully."
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
End If
End Sub
</script>
<head runat="server">
<title>DetailsViewDeletedEventHandler Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewDeletedEventHandler Example</h3>
<!-- Use a PlaceHolder control as the container for the -->
<!-- dynamically generated DetailsView control. -->
<asp:PlaceHolder id="DetailsViewPlaceHolder"
runat="server"/>
<br/><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]"
deletecommand="Delete [Customers]
Where [CustomerID]=@CustomerID"
connectionstring=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</form>
</body>
</html>
下面的代码示例演示如何以声明方式向 控件的 DetailsView 事件添加DetailsViewDeletedEventHandler委托ItemDeleted。
<%@ page language="C#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script runat="server">
void CustomerDetailView_ItemDeleted(Object sender,
DetailsViewDeletedEventArgs e)
{
// Use the Exception property to determine whether an exception
// occurred during the delete operation.
if (e.Exception == null)
{
// Use the AffectedRows property to determine the numbers of
// rows affected by the delete operation.
if (e.AffectedRows == 1)
{
MessageLabel.Text = e.AffectedRows.ToString()
+ " record deleted successfully.";
}
else
{
MessageLabel.Text = e.AffectedRows.ToString()
+ " records deleted successfully.";
}
}
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;
}
}
</script>
<head runat="server">
<title>DetailsViewDeletedEventHandler Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewDeletedEventHandler Example</h3>
<asp:detailsview id="CustomerDetailsView"
datasourceid="DetailsViewSource"
autogeneraterows="true"
autogeneratedeletebutton="true"
allowpaging="true"
datakeynames="CustomerID"
runat="server">
<pagersettings mode="NextPrevious"/>
</asp:detailsview>
<br/><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]"
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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script runat="server">
Sub CustomerDetailView_ItemDeleted(ByVal sender As Object, _
ByVal e As DetailsViewDeletedEventArgs)
' Use the Exception property to determine whether an exception
' occurred during the delete operation.
If e.Exception Is Nothing Then
' Use the AffectedRows property to determine the numbers of
' rows affected by the delete operation.
If e.AffectedRows = 1 Then
MessageLabel.Text = e.AffectedRows.ToString() _
& " record deleted successfully."
Else
MessageLabel.Text = e.AffectedRows.ToString() _
& " records deleted successfully."
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
End If
End Sub
</script>
<head runat="server">
<title>DetailsViewDeletedEventHandler Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewDeletedEventHandler Example</h3>
<asp:detailsview id="CustomerDetailsView"
datasourceid="DetailsViewSource"
autogeneraterows="true"
autogeneratedeletebutton="true"
allowpaging="true"
datakeynames="CustomerID"
runat="server">
<pagersettings mode="NextPrevious"/>
</asp:detailsview>
<br/><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]"
deletecommand="Delete [Customers]
Where [CustomerID]=@CustomerID"
connectionstring=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</form>
</body>
</html>
注解
DetailsView当“删除”按钮 (控件中的属性设置为“Delete”的按钮CommandName
时,控件将引发 ItemDeleted 该事件,) 在控件中删除该记录之后DetailsView单击。 这允许你提供一个事件处理程序,用于执行自定义例程,例如,每当发生此事件时检查删除操作的结果。
创建 DetailsViewDeletedEventHandler 委托时,需要标识将处理该事件的方法。 若要将事件与事件处理程序关联,请将该委托的一个实例添加到事件中。 除非移除了该委托,否则每当发生该事件时就会调用事件处理程序。 有关事件处理程序委托的详细信息,请参阅 处理和引发事件。
扩展方法
GetMethodInfo(Delegate) |
获取指示指定委托表示的方法的对象。 |