UpdatePanelUpdateMode Wyliczenie

Definicja

Reprezentuje możliwe tryby aktualizacji dla zawartości w kontrolce UpdatePanel .

C#
public enum UpdatePanelUpdateMode
Dziedziczenie
UpdatePanelUpdateMode

Pola

Always 0

Zawartość kontrolki UpdatePanel jest aktualizowana dla wszystkich ogłaszań zwrotnych pochodzących ze strony. Obejmuje to asynchroniczne ogłaszanie zwrotne.

Conditional 1

Określa liczbę warunków, w których zawartość kontrolki UpdatePanel jest aktualizowana; zobacz sekcję Uwagi, aby uzyskać więcej informacji.

Przykłady

W poniższym przykładzie zadeklarowane są dwie UpdatePanel kontrolki. Pierwszy panel ustawia UpdatePanel.UpdateMode właściwość na Conditional. Drugi panel ma UpdatePanel.UpdateMode domyślnie ustawioną Always wartość . Przycisk na zewnątrz obu paneli jest zarejestrowany jako asynchroniczna kontrolka ogłaszania zwrotnego ScriptManager.RegisterAsyncPostBackControl przy użyciu metody . W procedurze obsługi zdarzeń kliknięcia przycisku metoda pierwszego panelu jest wywoływana, UpdatePanel.Update jeśli od czasu ostatniej aktualizacji upłynęło więcej niż pięć sekund. W tym scenariuszu zawartość panelu jest aktualizowana tylko wtedy, gdy ostatnia aktualizacja panelu była większa niż pięć sekund temu. Zawartość drugiego panelu jest zawsze aktualizowana.

ASP.NET (C#)

<%@ 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>

Uwagi

Wyliczenie UpdatePanelUpdateMode jest używane przez UpdatePanel.UpdateMode właściwość i definiuje możliwe tryby aktualizacji zawartości kontrolki UpdatePanel . Kontrolka UpdatePanel wymaga, ScriptManager.EnablePartialRendering aby właściwość dotyczyła true renderowania częściowej strony.

Wartość domyślna UpdatePanel.UpdateMode właściwości to Always.

Jeśli kontrolka UpdatePanel znajduje się wewnątrz innej UpdatePanel kontrolki i zostanie zaktualizowany panel nadrzędny, zagnieżdżony panel zostanie również zaktualizowany niezależnie od UpdateMode wartości właściwości.

Wartość Conditional aktualizuje zawartość kontrolki UpdatePanel w następujących warunkach:

  • Metoda jest wywoływana UpdatePanel.Update jawnie.

  • Kontrolka jest definiowana jako wyzwalacz przy użyciu UpdatePanel.Triggers właściwości i powoduje ogłaszanie zwrotne. W tym scenariuszu kontrolka jest jawnym wyzwalaczem aktualizowania zawartości panelu. Kontrolka wyzwalacza może znajdować się wewnątrz lub poza kontrolką UpdatePanel definiującą wyzwalacz.

  • Właściwość jest ustawiona UpdatePanel.ChildrenAsTriggers na true , a kontrolka podrzędna kontrolki UpdatePanel powoduje ogłaszanie zwrotne. W tym scenariuszu UpdatePanel kontrolki podrzędne są niejawnymi wyzwalaczami aktualizowania panelu. Kontrolki podrzędne zagnieżdżonych UpdatePanel kontrolek nie powodują zaktualizowania zewnętrznej UpdatePanel kontrolki, chyba że są jawnie zdefiniowane jako wyzwalacze.

Dotyczy

Produkt Wersje
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8

Zobacz też