UpdatePanelUpdateMode Sabit listesi
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
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 Conditional
ayarlar. İ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.