UpdatePanelUpdateMode UpdatePanelUpdateMode UpdatePanelUpdateMode UpdatePanelUpdateMode Enum

Definizione

Rappresenta le possibili modalità di aggiornamento per il contenuto in un controllo UpdatePanel.Represents the possible update modes for the content in an UpdatePanel control.

public enum class UpdatePanelUpdateMode
public enum UpdatePanelUpdateMode
type UpdatePanelUpdateMode = 
Public Enum UpdatePanelUpdateMode
Ereditarietà
UpdatePanelUpdateModeUpdatePanelUpdateModeUpdatePanelUpdateModeUpdatePanelUpdateMode

Campi

Always Always Always Always 0

Il contenuto del controllo UpdatePanel viene aggiornato per tutti i postback che hanno origine dalla pagina.The content of the UpdatePanel control is updated for all postbacks that originate from the page. Sono inclusi i postback asincroni.This includes asynchronous postbacks.

Conditional Conditional Conditional Conditional 1

Specifica un numero di condizioni in base alle quali viene aggiornato il contenuto del controllo UpdatePanel. Per altre informazioni, vedere la sezione Osservazioni.Specifies a number of conditions under which the content of the UpdatePanel control is updated; see the Remarks section for more information.

Esempi

Nell'esempio seguente vengono dichiarati due UpdatePanel controlli.The following example declares two UpdatePanel controls. Il primo pannello imposta la UpdatePanel.UpdateMode proprietà su Conditional.The first panel sets the UpdatePanel.UpdateMode property to Conditional. Il secondo pannello è UpdatePanel.UpdateMode impostato su Always per impostazione predefinita.The second panel has UpdatePanel.UpdateMode set to Always by default. Un pulsante esterno a entrambi i pannelli viene registrato come controllo di postback asincrono tramite ScriptManager.RegisterAsyncPostBackControl il metodo.A button outside both panels is registered as an asynchronous postback control by using the ScriptManager.RegisterAsyncPostBackControl method. Nel gestore dell'evento click del pulsante, il UpdatePanel.Update metodo del primo pannello viene chiamato se sono trascorsi più di cinque secondi dall'ultimo aggiornamento.In the button's click event handler, the UpdatePanel.Update method of the first panel is called if more than five seconds have elapsed since its last update. In questo scenario, il contenuto del pannello viene aggiornato solo se l'ultimo aggiornamento del pannello è stato più di cinque secondi fa.In this scenario, the panel's content is updated only if the last panel update was more than five seconds ago. Il contenuto del secondo pannello viene sempre aggiornato.The second panel's content is always updated.


<%@ 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">
    protected DateTime LastUpdate
    {
        get
        {
            return (DateTime)(ViewState["LastUpdate"] ?? DateTime.Now);
        }
        set
        {
            ViewState["LastUpdate"] = value;
        }
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        if (LastUpdate.AddSeconds(5.0) < DateTime.Now)
        {
            UpdatePanel1.Update();
            LastUpdate = DateTime.Now;
        }
    }

    protected void Page_Load(object sender, EventArgs e)
    {

        ScriptManager1.RegisterAsyncPostBackControl(Button1);   
        if (!IsPostBack)
        {
            LastUpdate = DateTime.Now;
        }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>UpdatePanelUpdateMode Example</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1"
                               runat="server" />
            <asp:Panel ID="Panel1"
                       GroupingText="UpdatePanel1"
                       runat="server">
                <asp:UpdatePanel ID="UpdatePanel1"
                                 UpdateMode="Conditional"
                                 runat="server">
                    <ContentTemplate>
                        <p>
                            The content in this UpdatePanel only refreshes if five or more
                            seconds have passed since the last refresh and the button in
                            UpdatePanel2 was clicked. The time is checked
                            server-side and the UpdatePanel.Update() method is called. Last
                            updated: <strong>
                                <%= LastUpdate.ToString() %>
                            </strong>
                        </p>
                    </ContentTemplate>
                </asp:UpdatePanel>
            </asp:Panel>
            <asp:Panel ID="Panel2"
                       GroupingText="UpdatePanel2"
                       runat="server">
                <asp:UpdatePanel ID="UpdatePanel2"
                                 runat="server">
                    <ContentTemplate>
                        <p>
                            This UpdatePanel always refreshes if the button is clicked.
                            Last updated: <strong>
                                <%= DateTime.Now.ToString() %>
                            </strong>
                        </p>
                    </ContentTemplate>
                </asp:UpdatePanel>
            </asp:Panel>
            <asp:Button ID="Button1" Text="Button1" runat="server" OnClick="Button1_Click" />
        </div>
    </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">
    Protected Property LastUpdate() As DateTime
        Get
            If Not ViewState("LastUpdate") Is Nothing Then
                Return ViewState("LastUpdate")
            Else : Return DateTime.Now()
            End If
        End Get
        Set(ByVal Value As DateTime)
            ViewState("LastUpdate") = Value
        End Set
    End Property

    Protected Sub Button1_Click(ByVal Sender As Object, ByVal E As EventArgs)
        If (LastUpdate.AddSeconds(5.0) < DateTime.Now) Then
            UpdatePanel1.Update()
            LastUpdate = DateTime.Now
        End If
    End Sub

    Protected Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)
        ScriptManager1.RegisterAsyncPostBackControl(Button1)
        If Not IsPostBack Then
            LastUpdate = DateTime.Now
        End If
    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>UpdatePanelUpdateMode Example</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1"
                               runat="server" />
            <asp:Panel ID="Panel1"
                       GroupingText="UpdatePanel1"
                       runat="server">
                <asp:UpdatePanel ID="UpdatePanel1"
                                   runat="server"
                                   UpdateMode="Conditional">
                    <ContentTemplate>
                        <p>
                            The content in this UpdatePanel only refreshes if five or more
                            seconds have passed since the last refresh and the button in
                            UpdatePanel2 was clicked. The time is checked
                            server-side and the UpdatePanel.Update() method is called. Last
                            updated: <strong>
                                <%= LastUpdate.ToString() %>
                            </strong>
                        </p>
                    </ContentTemplate>
                </asp:UpdatePanel>
            </asp:Panel>
            <asp:Panel ID="Panel2"
                       GroupingText="UpdatePanel2"
                       runat="server">
                <asp:UpdatePanel ID="UpdatePanel2"
                                 runat="server">
                    <ContentTemplate>
                        <p>
                            This UpdatePanel always refreshes if the button is clicked.
                            Last updated: <strong>
                                <%= DateTime.Now.ToString() %>
                            </strong>
                        </p>
                    </ContentTemplate>
                </asp:UpdatePanel>
            </asp:Panel>
            <asp:Button ID="Button1" Text="Button1" runat="server" OnClick="Button1_Click" />
        </div>
    </form>
</body>
</html>

Commenti

L' UpdatePanelUpdateMode enumerazione viene utilizzata UpdatePanel.UpdateMode dalla proprietà e definisce le possibili modalità di aggiornamento per il contenuto di un UpdatePanel controllo.The UpdatePanelUpdateMode enumeration is used by the UpdatePanel.UpdateMode property and defines the possible update modes for the content of an UpdatePanel control. Per UpdatePanel il controllo è necessario ScriptManager.EnablePartialRendering che la true proprietà sia per il rendering parziale della pagina.The UpdatePanel control requires that the ScriptManager.EnablePartialRendering property be true for partial-page rendering to occur.

Il valore predefinito della UpdatePanel.UpdateMode proprietà è. AlwaysThe default value of the UpdatePanel.UpdateMode property is Always.

Se il UpdatePanel controllo si trova all' UpdatePanel interno di un altro controllo e il pannello padre viene aggiornato, anche il pannello annidato verrà UpdateMode aggiornato indipendentemente dal valore della proprietà.If the UpdatePanel control is inside another UpdatePanel control and the parent panel is updated, the nested panel will also be updated regardless of the UpdateMode property value.

Il Conditional valore aggiorna il contenuto UpdatePanel del controllo nelle condizioni seguenti:The Conditional value updates the content of the UpdatePanel control under the following conditions:

  • Il UpdatePanel.Update metodo viene chiamato in modo esplicito.The UpdatePanel.Update method is called explicitly.

  • Un controllo viene definito come trigger tramite la UpdatePanel.Triggers proprietà e genera un postback.A control is defined as a trigger by using the UpdatePanel.Triggers property and causes a postback. In questo scenario, il controllo è un trigger esplicito per l'aggiornamento del contenuto del pannello.In this scenario, the control is an explicit trigger for updating the panel content. Il controllo trigger può essere all'interno o all'esterno UpdatePanel del controllo che definisce il trigger.The trigger control can be either inside or outside the UpdatePanel control that defines the trigger.

  • La UpdatePanel.ChildrenAsTriggers proprietà è impostata su true e UpdatePanel un controllo figlio del controllo causa un postback.The UpdatePanel.ChildrenAsTriggers property is set to true and a child control of the UpdatePanel control causes a postback. In questo scenario, i controlli figlio del UpdatePanel controllo sono trigger impliciti per l'aggiornamento del pannello.In this scenario, child controls of the UpdatePanel control are implicit triggers for updating the panel. I controlli figlio dei UpdatePanel controlli annidati non determinano UpdatePanel l'aggiornamento del controllo esterno, a meno che non siano definiti in modo esplicito come trigger.Child controls of nested UpdatePanel controls do not cause the outer UpdatePanel control to be updated unless they are explicitly defined as triggers.

Si applica a

Vedi anche