DetailsView.CurrentMode DetailsView.CurrentMode DetailsView.CurrentMode DetailsView.CurrentMode Property

Definition

Ruft den aktuellen Dateneingabemodus des DetailsView-Steuerelements ab.Gets the current data-entry mode of the DetailsView control.

public:
 property System::Web::UI::WebControls::DetailsViewMode CurrentMode { System::Web::UI::WebControls::DetailsViewMode get(); };
[System.ComponentModel.Browsable(false)]
public System.Web.UI.WebControls.DetailsViewMode CurrentMode { get; }
member this.CurrentMode : System.Web.UI.WebControls.DetailsViewMode
Public ReadOnly Property CurrentMode As DetailsViewMode

Eigenschaftswert

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie mit CurrentMode der-Eigenschaft bestimmt wird DetailsView , ob sich das Steuerelement im Bearbeitungs-, Einfügungs-oder schreibgeschützten Modus befindet.The following code example demonstrates how to use the CurrentMode property to determine whether the DetailsView control is in edit, insert, or read-only mode. Wenn der Benutzer versucht, zu einem anderen Datensatz zu navigieren, DetailsView während sich das Steuerelement im Bearbeitungsmodus befindet, wird der Pagingvorgang abgebrochen.If the user attempts to navigate to a different record while the DetailsView control is in edit mode, the paging operation is canceled.


<%@ 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_ItemCommand(Object sender, 
      DetailsViewCommandEventArgs e)
    {
        // Clear the error message if the user cancels the edit 
        // operation.
        if (e.CommandName == "Cancel")
        {
            ErrorMessageLabel.Text = "";
        }
    }

    protected void CustomerDetailView_PageIndexChanging(
      object sender, DetailsViewPageEventArgs e)
    {
        // Cancel the paging operation if the user tries to 
        // navigate to another record while in edit mode.
        if (CustomerDetailView.CurrentMode == DetailsViewMode.Edit)
        {
            e.Cancel = true;
            // Display an error message.
            ErrorMessageLabel.Text = 
              "You cannot navigate to another record while in edit mode.";
        }

    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>
            DetailsView CurrentMode Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        <h3>
            DetailsView CurrentMode Example</h3>
        <asp:DetailsView ID="CustomerDetailView" 
          DataSourceID="DetailsViewSource" 
          AutoGenerateRows="true"
          AutoGenerateEditButton="true" 
          DataKeyNames="CustomerID" 
          GridLines="Both" 
          AllowPaging="true"
          OnItemCommand="CustomerDetailView_ItemCommand" 
          runat="server" 
          OnPageIndexChanging="CustomerDetailView_PageIndexChanging">
          
          <HeaderStyle BackColor="Navy" ForeColor="White" />
        </asp:DetailsView>
        
        <br />
        
        <asp:Label ID="ErrorMessageLabel" 
          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" 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_ItemCommand(ByVal sender As Object, _
      ByVal e As DetailsViewCommandEventArgs)
        ' Clear the error message if the user cancels the edit 
        ' operation.
        If e.CommandName = "Cancel" Then
            ErrorMessageLabel.Text = ""
        End If
    End Sub

    Protected Sub CustomerDetailView_PageIndexChanging( _
    ByVal sender As Object, ByVal e As DetailsViewPageEventArgs)
        ' Cancel the paging operation if the user tries to navigate 
        ' to another record while in edit mode.
        If CustomerDetailView.CurrentMode = DetailsViewMode.Edit Then
            e.Cancel = True
            ' Display an error message.
            ErrorMessageLabel.Text = _
                "You cannot navigate to another record while in edit mode."
        End If
    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>
            DetailsView CurrentMode Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        <h3>
            DetailsView CurrentMode Example</h3>
        <asp:DetailsView ID="CustomerDetailView" 
          DataSourceID="DetailsViewSource" 
          AutoGenerateRows="true"
          AutoGenerateEditButton="true" 
          DataKeyNames="CustomerID" 
          GridLines="Both" 
          AllowPaging="true"
          OnItemCommand="CustomerDetailView_ItemCommand" 
          runat="server" 
          OnPageIndexChanging="CustomerDetailView_PageIndexChanging">
          
          <HeaderStyle BackColor="Navy" ForeColor="White" />
        </asp:DetailsView>
        
        <br />
        
        <asp:Label ID="ErrorMessageLabel" 
          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" 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>

Hinweise

Verwenden Sie CurrentMode die-Eigenschaft, um DetailsView zu bestimmen, ob sich das Steuerelement im Bearbeitungs-, Einfüge-oder schreibgeschützten Modus befindet.Use the CurrentMode property to determine whether the DetailsView control is in edit, insert, or read-only mode. In der folgenden Tabelle werden die verschiedenen Moduswerte aufgelistet.The following table lists the different mode values.

ModusMode BeschreibungDescription
DetailsViewMode.Edit Das DetailsView -Steuerelement befindet sich im Bearbeitungsmodus, sodass der Benutzer die Werte eines Datensatzes aktualisieren kann.The DetailsView control is in edit mode, which allows the user to update the values of a record.
DetailsViewMode.Insert Das DetailsView -Steuerelement befindet sich im Einfügemodus, mit dem der Benutzer der Datenquelle einen neuen Datensatz hinzufügen kann.The DetailsView control is in insert mode, which allows the user to add a new record to the data source.
DetailsViewMode.ReadOnly Das DetailsView -Steuerelement befindet sich im schreibgeschützten Modus, bei dem es sich um den normalen Anzeigemodus handelt.The DetailsView control is in read-only mode, which is the normal display mode.

Dieser Wert wird normalerweise automatisch vom DetailsView -Steuerelement festgelegt, wenn auf die Schaltfläche neu, aktualisieren, einfügen, löschen oder Abbrechen geklickt wird.This value is normally set automatically by the DetailsView control by when the New, Update, Insert, Delete, or Cancel command button is clicked. Sie können den Modus auch Programm gesteuert ändern, indem Sie ChangeMode die-Methode verwenden.You can also programmatically change the mode by using the ChangeMode method.

Wenn das DetailsView Steuerelement den Modus ändert, werden die Ereignisse in der folgenden Tabelle ausgelöst.When the DetailsView control changes modes, the events in the following table are raised. Dies ermöglicht es Ihnen, einen benutzerdefinierten Ereignishandler zu erstellen, der eine Routine ausführt, wenn das Ereignis eintritt.This allows you to create a custom event handler that performs a routine when the event occurs.

eventEvent BeschreibungDescription
ModeChanged Tritt auf, wenn auf eine Befehls Schaltfläche geklickt DetailsView wird, die den Modus des-Steuer Elements ändert, aber nachdem der Modus geändert wurde.Occurs when a command button that changes the mode of the DetailsView control is clicked, but after the mode changes.
ModeChanging Tritt auf, wenn auf eine Befehls Schaltfläche geklickt DetailsView wird, die den Modus des-Steuer Elements ändert, aber bevor der Modus geändert wird.Occurs when a command button that changes the mode of the DetailsView control is clicked, but before the mode changes.

Gilt für:

Siehe auch