UpdatePanelUpdateMode Wyliczenie

Definicja

Reprezentuje dostępne tryby aktualizacji dla zawartości w UpdatePanel formancie.Represents the possible update modes for the content in an UpdatePanel control.

public enum class UpdatePanelUpdateMode
public enum UpdatePanelUpdateMode
type UpdatePanelUpdateMode = 
Public Enum UpdatePanelUpdateMode
Dziedziczenie
UpdatePanelUpdateMode

Pola

Always 0

Zawartość UpdatePanel kontrolki jest aktualizowana dla wszystkich ogłoszeń zwrotnych pochodzących ze strony.The content of the UpdatePanel control is updated for all postbacks that originate from the page. Obejmuje to asynchroniczne ogłaszanie zwrotne.This includes asynchronous postbacks.

Conditional 1

Określa liczbę warunków, w których zawartość UpdatePanel kontrolki jest aktualizowana; Zobacz sekcję Uwagi, aby uzyskać więcej informacji.Specifies a number of conditions under which the content of the UpdatePanel control is updated; see the Remarks section for more information.

Przykłady

Poniższy przykład deklaruje dwie UpdatePanel kontrolki.The following example declares two UpdatePanel controls. Pierwszy panel ustawia UpdatePanel.UpdateMode Właściwość na Conditional .The first panel sets the UpdatePanel.UpdateMode property to Conditional. Drugi Panel ma UpdatePanel.UpdateMode domyślnie ustawioną wartość Always .The second panel has UpdatePanel.UpdateMode set to Always by default. Przycisk poza obydwoma panelami jest rejestrowany jako asynchroniczny formant ogłaszania zwrotnego przy użyciu ScriptManager.RegisterAsyncPostBackControl metody.A button outside both panels is registered as an asynchronous postback control by using the ScriptManager.RegisterAsyncPostBackControl method. W programie obsługi zdarzeń kliknięcia przycisku UpdatePanel.Update Metoda pierwszego panelu jest wywoływana, jeśli od czasu ostatniej aktualizacji upłynęło więcej niż pięć sekund.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. W tym scenariuszu zawartość panelu jest aktualizowana tylko wtedy, gdy Ostatnia aktualizacja panelu była większa niż pięć sekund temu.In this scenario, the panel's content is updated only if the last panel update was more than five seconds ago. Zawartość drugiego panelu jest zawsze aktualizowana.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>

Uwagi

UpdatePanelUpdateModeWyliczenie jest używane przez UpdatePanel.UpdateMode Właściwość i definiuje możliwe tryby aktualizacji zawartości UpdatePanel kontrolki.The UpdatePanelUpdateMode enumeration is used by the UpdatePanel.UpdateMode property and defines the possible update modes for the content of an UpdatePanel control. UpdatePanelKontrolka wymaga, aby ScriptManager.EnablePartialRendering Właściwość była true wykonywana do renderowania części strony.The UpdatePanel control requires that the ScriptManager.EnablePartialRendering property be true for partial-page rendering to occur.

Wartość domyślna UpdatePanel.UpdateMode Właściwości to Always .The default value of the UpdatePanel.UpdateMode property is Always.

Jeśli UpdatePanel formant znajduje się wewnątrz innej UpdatePanel kontrolki, a panel nadrzędny zostanie zaktualizowany, panel zagnieżdżony również zostanie zaktualizowany niezależnie od UpdateMode wartości właściwości.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.

ConditionalWartość aktualizuje zawartość UpdatePanel kontrolki w następujących warunkach:The Conditional value updates the content of the UpdatePanel control under the following conditions:

  • UpdatePanel.UpdateMetoda jest wywoływana jawnie.The UpdatePanel.Update method is called explicitly.

  • Kontrolka jest definiowana jako wyzwalacz przy użyciu UpdatePanel.Triggers właściwości i powoduje ogłoszenie zwrotne.A control is defined as a trigger by using the UpdatePanel.Triggers property and causes a postback. W tym scenariuszu formant jest jawnym wyzwalaczem do aktualizowania zawartości panelu.In this scenario, the control is an explicit trigger for updating the panel content. Formant wyzwalacza może znajdować się wewnątrz lub na zewnątrz UpdatePanel kontrolki, która definiuje wyzwalacz.The trigger control can be either inside or outside the UpdatePanel control that defines the trigger.

  • UpdatePanel.ChildrenAsTriggersWłaściwość jest ustawiona na true , a kontrolka podrzędna UpdatePanel kontrolki powoduje wystąpienie zwrotne.The UpdatePanel.ChildrenAsTriggers property is set to true and a child control of the UpdatePanel control causes a postback. W tym scenariuszu formanty podrzędne UpdatePanel formantu są niejawnymi wyzwalaczami do aktualizacji panelu.In this scenario, child controls of the UpdatePanel control are implicit triggers for updating the panel. Formanty podrzędne formantów zagnieżdżonych UpdatePanel nie powodują UpdatePanel aktualizacji formantu zewnętrznego, chyba że są jawnie zdefiniowane jako wyzwalacze.Child controls of nested UpdatePanel controls do not cause the outer UpdatePanel control to be updated unless they are explicitly defined as triggers.

Dotyczy

Zobacz też