Bagikan melalui


UpdatePanelUpdateMode Enum

Definisi

Mewakili kemungkinan mode pembaruan untuk konten dalam kontrol UpdatePanel.

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

Bidang

Nama Nilai Deskripsi
Always 0

Konten kontrol diperbarui UpdatePanel untuk semua postback yang berasal dari halaman. Ini termasuk postback asinkron.

Conditional 1

Menentukan sejumlah kondisi di mana konten UpdatePanel kontrol diperbarui; lihat bagian Keterangan untuk informasi selengkapnya.

Contoh

Contoh berikut mendeklarasikan dua UpdatePanel kontrol. Panel pertama mengatur properti ke UpdatePanel.UpdateModeConditional. Panel kedua telah UpdatePanel.UpdateMode diatur ke Always secara default. Tombol di luar kedua panel terdaftar sebagai kontrol postback asinkron dengan menggunakan ScriptManager.RegisterAsyncPostBackControl metode . Di penangan aktivitas klik tombol, UpdatePanel.Update metode panel pertama dipanggil jika lebih dari lima detik telah berlalu sejak pembaruan terakhirnya. Dalam skenario ini, konten panel diperbarui hanya jika pembaruan panel terakhir lebih dari lima detik yang lalu. Konten panel kedua selalu diperbarui.


<%@ 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 ViewState("LastUpdate") IsNot 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>

Keterangan

UpdatePanelUpdateMode Enumerasi digunakan oleh UpdatePanel.UpdateMode properti dan menentukan kemungkinan mode pembaruan untuk konten UpdatePanel kontrol. Kontrol UpdatePanel mengharuskan ScriptManager.EnablePartialRendering properti untuk true penyajian halaman parsial terjadi.

Nilai UpdatePanel.UpdateMode default properti adalah Always.

UpdatePanel Jika kontrol berada di dalam kontrol lain UpdatePanel dan panel induk diperbarui, panel berlapis juga akan diperbarui terlepas dari UpdateMode nilai properti.

Nilai Conditional memperbarui konten UpdatePanel kontrol dalam kondisi berikut:

  • Metode UpdatePanel.Update ini disebut secara eksplisit.

  • Kontrol didefinisikan sebagai pemicu dengan menggunakan UpdatePanel.Triggers properti dan menyebabkan postback. Dalam skenario ini, kontrol adalah pemicu eksplisit untuk memperbarui konten panel. Kontrol pemicu dapat berada di dalam atau di luar UpdatePanel kontrol yang menentukan pemicu.

  • Properti UpdatePanel.ChildrenAsTriggers diatur ke true dan kontrol turunan kontrol UpdatePanel menyebabkan postback. Dalam skenario ini, kontrol turunan kontrol UpdatePanel adalah pemicu implisit untuk memperbarui panel. Kontrol anak dari kontrol berlapis UpdatePanel tidak menyebabkan kontrol luar UpdatePanel diperbarui kecuali secara eksplisit didefinisikan sebagai pemicu.

Berlaku untuk

Lihat juga