DetailsView.CurrentMode Proprietà

Definizione

Ottiene la modalità di immissione dati corrente del controllo DetailsView.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

Valore della proprietà

Uno dei valori di DetailsViewMode.One of the DetailsViewMode values.

Attributi

Esempi

Nell'esempio di codice riportato di seguito viene illustrato CurrentMode come utilizzare la proprietà per DetailsView determinare se il controllo è in modalità di modifica, inserimento o sola lettura.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. Se l'utente tenta di passare a un record diverso mentre il DetailsView controllo è in modalità di modifica, l'operazione di paging viene annullata.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>

Commenti

Utilizzare la CurrentMode proprietà per determinare se il DetailsView controllo è in modalità di modifica, di inserimento o di sola lettura.Use the CurrentMode property to determine whether the DetailsView control is in edit, insert, or read-only mode. Nella tabella seguente sono elencati i diversi valori della modalità.The following table lists the different mode values.

ModalitàMode DescriptionDescription
DetailsViewMode.Edit Il DetailsView controllo è in modalità di modifica, che consente all'utente di aggiornare i valori di un record.The DetailsView control is in edit mode, which allows the user to update the values of a record.
DetailsViewMode.Insert Il DetailsView controllo è in modalità di inserimento, che consente all'utente di aggiungere un nuovo record all'origine dati.The DetailsView control is in insert mode, which allows the user to add a new record to the data source.
DetailsViewMode.ReadOnly Il DetailsView controllo è in modalità di sola lettura, che è la modalità di visualizzazione normale.The DetailsView control is in read-only mode, which is the normal display mode.

Questo valore viene in genere impostato automaticamente dal DetailsView controllo da quando si fa clic sul pulsante di comando nuovo, Aggiorna, Inserisci, Elimina o Annulla.This value is normally set automatically by the DetailsView control by when the New, Update, Insert, Delete, or Cancel command button is clicked. È anche possibile modificare la modalità a livello di codice usando ChangeMode il metodo.You can also programmatically change the mode by using the ChangeMode method.

Quando il DetailsView controllo cambia modalità, vengono generati gli eventi nella tabella seguente.When the DetailsView control changes modes, the events in the following table are raised. In questo modo è possibile creare un gestore eventi personalizzato che esegue una routine quando si verifica l'evento.This allows you to create a custom event handler that performs a routine when the event occurs.

eventEvent DescriptionDescription
ModeChanged Si verifica quando si fa clic su un pulsante di comando DetailsView che modifica la modalità del controllo, ma dopo che la modalità è stata modificata.Occurs when a command button that changes the mode of the DetailsView control is clicked, but after the mode changes.
ModeChanging Si verifica quando si fa clic su un pulsante di comando DetailsView che modifica la modalità del controllo, ma prima che la modalità venga modificata.Occurs when a command button that changes the mode of the DetailsView control is clicked, but before the mode changes.

Si applica a

Vedi anche