Aracılığıyla paylaş


UpdatePanelUpdateMode Sabit listesi

Tanım

UpdatePanel denetimindeki içerik 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

Name Değer Description
Always 0

Denetimin içeriği, sayfadan UpdatePanel 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.UpdateModeConditionalayarlar. İkinci panel varsayılan olarak olarak ayarlanmıştır UpdatePanel.UpdateModeAlways . 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

Numaralandırma UpdatePanelUpdateMode ö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. Denetimi UpdatePanel , özelliğin ScriptManager.EnablePartialRenderingtrue kısmi sayfa işlemenin gerçekleşmesini gerektirir.

özelliğinin UpdatePanel.UpdateMode varsayılan değeridir Always.

Denetim başka bir UpdatePanel denetimin UpdatePanel içindeyse ve üst panel güncelleştirildiyse, özellik değerinden UpdateMode bağımsız olarak iç içe geçmiş panel de 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ği kullanılarak 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.