UpdatePanelUpdateMode UpdatePanelUpdateMode UpdatePanelUpdateMode UpdatePanelUpdateMode Enum

Definición

Representa los posibles modos de actualización del contenido de un control 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
Herencia
UpdatePanelUpdateModeUpdatePanelUpdateModeUpdatePanelUpdateModeUpdatePanelUpdateMode

Campos

Always Always Always Always 0

El contenido del control UpdatePanel se actualiza para todas los postbacks que se originen en la página.The content of the UpdatePanel control is updated for all postbacks that originate from the page. Esta acción incluye postbacks asincrónicos.This includes asynchronous postbacks.

Conditional Conditional Conditional Conditional 1

Especifica una serie de condiciones bajo las cuales se actualiza el contenido del control UpdatePanel; consulte la sección de comentarios para obtener más información.Specifies a number of conditions under which the content of the UpdatePanel control is updated; see the Remarks section for more information.

Ejemplos

En el ejemplo siguiente se declara dos UpdateMode controles.The following example declares two UpdateMode controls. Los primeros conjuntos del panel la UpdateMode propiedad de un UpdateMode control condicionales.The first panel sets the UpdateMode property of an UpdateMode control to Conditional. El segundo panel tiene UpdateMode establecido en siempre de forma predeterminada.The second panel has UpdateMode set to Always by default. Un botón situado fuera de los dos paneles se registra como un control de postback asincrónico mediante el RegisterAsyncPostBackControl método de la ScriptManager control.A button outside both panels is registered as an asynchronous postback control by using the RegisterAsyncPostBackControl method of the ScriptManager control. En el botón, haga clic en el controlador de eventos, el Update se llama el método del primer panel si han transcurrido más de cinco segundos desde la última actualización.In the button's click event handler, the Update method of the first panel is called if more than five seconds have elapsed since its last update. En este escenario, el contenido del panel se actualiza sólo si la última actualización del panel se produjo hace más de cinco segundos.In this scenario, the panel's content is updated only if the last panel update was more than five seconds ago. Siempre se actualiza el contenido del segundo panel.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>

Comentarios

El UpdatePanelUpdateMode enumeración la utiliza el UpdatePanel.UpdateMode propiedad y define los posibles modos de actualización para el contenido de un UpdatePanel control.The UpdatePanelUpdateMode enumeration is used by the UpdatePanel.UpdateMode property and defines the possible update modes for the content of an UpdatePanel control. El UpdatePanel control requiere que el ScriptManager.EnablePartialRendering propiedad ser true para que se produzca la representación parcial de página.The UpdatePanel control requires that the ScriptManager.EnablePartialRendering property be true for partial-page rendering to occur.

El valor predeterminado de la UpdatePanel.UpdateMode propiedad es Always.The default value of the UpdatePanel.UpdateMode property is Always.

Si el UpdatePanel control está dentro de otro UpdatePanel se actualiza el control y el panel principal, también se actualizará el panel anidado, con independencia de la UpdateMode valor de propiedad.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.

El Conditional valor actualiza el contenido de la UpdatePanel control en las siguientes condiciones:The Conditional value updates the content of the UpdatePanel control under the following conditions:

  • El UpdatePanel.Update se llama al método explícitamente.The UpdatePanel.Update method is called explicitly.

  • Un control se define como un desencadenador mediante el uso de la UpdatePanel.Triggers propiedad y se produce un postback.A control is defined as a trigger by using the UpdatePanel.Triggers property and causes a postback. En este escenario, el control es un desencadenador explícito para actualizar el contenido del panel.In this scenario, the control is an explicit trigger for updating the panel content. El control del desencadenador puede ser dentro o fuera del UpdatePanel control que define el desencadenador.The trigger control can be either inside or outside the UpdatePanel control that defines the trigger.

  • El UpdatePanel.ChildrenAsTriggers propiedad está establecida en true y un control secundario de la UpdatePanel control produce un postback.The UpdatePanel.ChildrenAsTriggers property is set to true and a child control of the UpdatePanel control causes a postback. En este escenario, los controles secundarios de la UpdatePanel control son desencadenadores implícitos para actualizar el panel.In this scenario, child controls of the UpdatePanel control are implicit triggers for updating the panel. De controles secundarios anidados UpdatePanel controles no provocan el exterior UpdatePanel control actualizarse a menos que se definan explícitamente como desencadenadores.Child controls of nested UpdatePanel controls do not cause the outer UpdatePanel control to be updated unless they are explicitly defined as triggers.

Se aplica a

Consulte también: