DetailsView.CurrentMode Eigenschaft

Definition

Ruft den aktuellen Dateneingabemodus des DetailsView-Steuerelements ab.

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; }
[<System.ComponentModel.Browsable(false)>]
member this.CurrentMode : System.Web.UI.WebControls.DetailsViewMode
Public ReadOnly Property CurrentMode As DetailsViewMode

Eigenschaftswert

Einer der DetailsViewMode-Werte.

Attribute

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die CurrentMode -Eigenschaft verwendet wird, um zu bestimmen, ob sich das DetailsView Steuerelement im Bearbeitungs-, Einfüge- oder schreibgeschützten Modus befindet. Wenn der Benutzer versucht, zu einem anderen Datensatz zu navigieren, während sich das DetailsView Steuerelement im Bearbeitungsmodus befindet, wird der Auslagerungsvorgang abgebrochen.


<%@ 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 die CurrentMode -Eigenschaft, um zu bestimmen, ob sich das DetailsView Steuerelement im Bearbeitungs-, Einfüge- oder schreibgeschützten Modus befindet. In der folgenden Tabelle sind die verschiedenen Moduswerte aufgeführt.

Mode BESCHREIBUNG
DetailsViewMode.Edit Das DetailsView Steuerelement befindet sich im Bearbeitungsmodus, in dem der Benutzer die Werte eines Datensatzes aktualisieren kann.
DetailsViewMode.Insert Das DetailsView Steuerelement befindet sich im Einfügemodus, sodass der Benutzer der Datenquelle einen neuen Datensatz hinzufügen kann.
DetailsViewMode.ReadOnly Das DetailsView Steuerelement befindet sich im schreibgeschützten Modus, der dem normalen Anzeigemodus entspricht.

Dieser Wert wird normalerweise automatisch vom DetailsView Steuerelement festgelegt, wenn auf die Befehlsschaltfläche Neu, Aktualisieren, Einfügen, Löschen oder Abbrechen geklickt wird. Sie können den Modus auch programmgesteuert ändern, indem Sie die ChangeMode -Methode verwenden.

Wenn das Steuerelement den DetailsView Modus ändert, werden die Ereignisse in der folgenden Tabelle ausgelöst. Dadurch können Sie einen benutzerdefinierten Ereignishandler erstellen, der eine Routine ausführt, wenn das Ereignis auftritt.

Ereignis BESCHREIBUNG
ModeChanged Tritt auf, wenn auf eine Befehlsschaltfläche geklickt wird, die den Modus des DetailsView Steuerelements ändert, aber nachdem sich der Modus ändert.
ModeChanging Tritt auf, wenn auf eine Befehlsschaltfläche geklickt wird, die den Modus des DetailsView Steuerelements ändert, aber bevor sich der Modus ändert.

Gilt für:

Weitere Informationen