DetailsView.ModeChanging Händelse
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.
Inträffar när en DetailsView kontroll försöker ändra mellan redigering, infogning och skrivskyddat läge, men innan egenskapen CurrentMode uppdateras.
public:
event System::Web::UI::WebControls::DetailsViewModeEventHandler ^ ModeChanging;
public event System.Web.UI.WebControls.DetailsViewModeEventHandler ModeChanging;
member this.ModeChanging : System.Web.UI.WebControls.DetailsViewModeEventHandler
Public Custom Event ModeChanging As DetailsViewModeEventHandler
Händelsetyp
Exempel
Följande kodexempel visar hur du använder ModeChanging händelsen för att inaktivera växlingsfunktionen när DetailsView kontrollen är i redigeringsläge.
<%@ 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 CustomerDetailView_ModeChanging(Object sender, DetailsViewModeEventArgs e)
{
// Disable the paging feature in edit mode.
if (e.NewMode == DetailsViewMode.Edit)
{
CustomerDetailView.AllowPaging = false;
}
else
{
CustomerDetailView.AllowPaging = true;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsView ModeChanging Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>DetailsView ModeChanging Example</h3>
<asp:detailsview id="CustomerDetailView"
datasourceid="DetailsViewSource"
datakeynames="CustomerID"
autogeneraterows="true"
autogenerateeditbutton="true"
allowpaging="true"
onmodechanging="CustomerDetailView_ModeChanging"
runat="server">
<fieldheaderstyle backcolor="Navy"
forecolor="White"/>
</asp:detailsview>
<!-- 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" runat="server"
ConnectionString=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
InsertCommand="INSERT INTO [Customers]([CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country]) VALUES (@CustomerID, @CompanyName, @Address, @City, @PostalCode, @Country)"
SelectCommand="Select [CustomerID], [CompanyName],
[Address], [City], [PostalCode], [Country] From
[Customers]">
</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 CustomerDetailView_ModeChanging(ByVal sender As Object, ByVal e As DetailsViewModeEventArgs)
' Disable the paging feature in edit mode.
If e.NewMode = DetailsViewMode.Edit Then
CustomerDetailView.AllowPaging = False
Else
CustomerDetailView.AllowPaging = True
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsView ModeChanging Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>DetailsView ModeChanging Example</h3>
<asp:detailsview id="CustomerDetailView"
datasourceid="DetailsViewSource"
datakeynames="CustomerID"
autogeneraterows="true"
autogenerateeditbutton="true"
allowpaging="true"
onmodechanging="CustomerDetailView_ModeChanging"
runat="server">
<fieldheaderstyle backcolor="Navy"
forecolor="White"/>
</asp:detailsview>
<!-- 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" runat="server"
ConnectionString=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
InsertCommand="INSERT INTO [Customers]([CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country]) VALUES (@CustomerID, @CompanyName, @Address, @City, @PostalCode, @Country)"
SelectCommand="Select [CustomerID], [CompanyName],
[Address], [City], [PostalCode], [Country] From
[Customers]">
</asp:SqlDataSource>
</form>
</body>
</html>
Kommentarer
Händelsen ModeChanging utlöses när en DetailsView kontroll försöker ändra mellan redigerings-, infognings- och skrivskyddat läge, men innan egenskapen CurrentMode uppdateras. På så sätt kan du ange en händelsehanterare som utför en anpassad rutin, till exempel avbryta lägesändringen, när den här händelsen inträffar.
Ett DetailsViewModeEventArgs objekt skickas till händelsehanteraren, vilket gör att du kan fastställa det nya läget, för att avgöra om lägesändringen berodde på att användaren avbröt en redigeringsåtgärd eller att avbryta lägesändringen. Använd egenskapen för NewMode att fastställa det nya läget. Om du vill ta reda på om modeändringen berodde på att användaren avbröt en redigeringsåtgärd använder du CancelingEdit egenskapen . Du kan avbryta lägesändringen Cancel genom att ange egenskapen till true.
Mer information om hur du hanterar händelser finns i Hantera och höja händelser.