Aracılığıyla paylaş


UpdatePanelUpdateMode Sabit listesi

Tanım

Denetimdeki içerik UpdatePanel için olası güncelleştirme modlarını temsil eder.

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

Alanlar

Always 0

Denetimin UpdatePanel içeriği, sayfadan kaynaklanan tüm geri göndermeler için güncelleştirilir. Buna zaman uyumsuz geri göndermeler dahildir.

Conditional 1

Denetimin içeriğinin UpdatePanel güncelleştirildiği bir dizi koşul belirtir; Daha fazla bilgi için Açıklamalar bölümüne bakın.

Örnekler

Aşağıdaki örnekte iki UpdatePanel denetim bildirmektedir. İlk panel özelliği olarak UpdatePanel.UpdateMode Conditionalayarlar. İkinci panel varsayılan olarak olarak ayarlanmıştır UpdatePanel.UpdateMode Always . Her iki panelin dışındaki bir düğme, yöntemi kullanılarak ScriptManager.RegisterAsyncPostBackControl zaman uyumsuz geri gönderme denetimi olarak kaydedilir. Düğmenin tıklama olayı işleyicisinde, UpdatePanel.Update son güncelleştirmesinden bu yana beş saniyeden fazla zaman geçtiyse ilk panelin yöntemi çağrılır. Bu senaryoda panelin içeriği yalnızca son panel güncelleştirmesi beş saniyeden uzun bir süre önceyse güncelleştirilir. İkinci panelin içeriği her zaman güncelleştirilir.


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

Açıklamalar

UpdatePanelUpdateMode Numaralandırma özelliği tarafından UpdatePanel.UpdateMode kullanılır ve bir UpdatePanel denetimin içeriği için olası güncelleştirme modlarını tanımlar. Denetim, UpdatePanel özelliğin ScriptManager.EnablePartialRendering kısmi sayfa işleme için gerçekleşmesini true gerektirir.

özelliğinin UpdatePanel.UpdateMode varsayılan değeri şeklindedir Always.

Denetim başka bir UpdatePanel denetimin UpdatePanel içindeyse ve üst panel güncelleştirildiyse, iç içe geçmiş panel de özellik değerinden UpdateMode bağımsız olarak güncelleştirilir.

değeri, Conditional denetimin UpdatePanel içeriğini aşağıdaki koşullar altında güncelleştirir:

  • UpdatePanel.Update yöntemi açıkça çağrılır.

  • Denetim, özelliğini kullanarak tetikleyici olarak tanımlanır ve geri göndermeye UpdatePanel.Triggers neden olur. Bu senaryoda denetim, panel içeriğini güncelleştirmek için açık bir tetikleyicidir. Tetikleyici denetimi, tetikleyiciyi tanımlayan denetimin UpdatePanel içinde veya dışında olabilir.

  • UpdatePanel.ChildrenAsTriggers özelliği olarak true ayarlanır ve denetimin alt denetimi geri göndermeye UpdatePanel neden olur. Bu senaryoda, denetimin UpdatePanel alt denetimleri paneli güncelleştirmek için örtük tetikleyicilerdir. İç içe denetimlerin UpdatePanel alt denetimleri, açıkça tetikleyici olarak tanımlanmadığı sürece dış UpdatePanel denetimin güncelleştirilmesine neden olmaz.

Şunlara uygulanır

Ayrıca bkz.