UpdatePanel.UpdateMode Özellik
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.
Denetimin içeriğinin ne zaman güncelleştirildiğini belirten bir UpdatePanel değer alır veya ayarlar.
public:
property System::Web::UI::UpdatePanelUpdateMode UpdateMode { System::Web::UI::UpdatePanelUpdateMode get(); void set(System::Web::UI::UpdatePanelUpdateMode value); };
public System.Web.UI.UpdatePanelUpdateMode UpdateMode { get; set; }
member this.UpdateMode : System.Web.UI.UpdatePanelUpdateMode with get, set
Public Property UpdateMode As UpdatePanelUpdateMode
Özellik Değeri
Değerlerden UpdatePanelUpdateMode biri. Varsayılan değer: Always.
Özel durumlar
Belirtilen tür değerlerden UpdatePanelUpdateMode biri değil.
Örnekler
Aşağıdaki örnekte iki UpdatePanel denetim bildirmektedir. İlk panelde UpdateMode özelliği olarak Conditionalayarlanır. İkinci panelde olarak UpdateMode ayarlanır Always. Her iki panelin dışındaki bir düğme, denetimin yöntemi ScriptManager çağrılarak RegisterAsyncPostBackControl zaman uyumsuz geri gönderme denetimi olarak kaydedilir. Düğmenin Click
olay işleyicisinde, 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 yenilemesi 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
Bir denetim başka bir UpdatePanel UpdatePanel denetimin içinde olmadığında panel, tetikleyici koleksiyonuyla birlikte ve ChildrenAsTriggers özelliklerinin ayarları UpdateMode tarafından belirlendiği şekilde güncelleştirilir. Bir denetim başka bir UpdatePanel UpdatePanel denetimin içinde olduğunda, üst panel güncelleştirildiğinde alt panel otomatik olarak güncelleştirilir.
Denetimin UpdatePanel içeriği aşağıdaki durumlarda güncelleştirilir:
UpdateMode özelliği olarak ayarlanırsaAlways, denetimin UpdatePanel içeriği sayfanın herhangi bir yerinden kaynaklanan her geri göndermede güncelleştirilir. Bu, diğer UpdatePanel denetimlerin içindeki denetimlerden zaman uyumsuz geri göndermeleri ve denetimlerin içinde UpdatePanel olmayan denetimlerden geri göndermeleri içerir.
Denetim başka bir UpdatePanel denetimin UpdatePanel içine yerleştirilmişse ve üst güncelleştirme paneli güncelleştirilir.
UpdateMode Özelliği olarak ayarlanırsa Conditionalve aşağıdaki koşullardan biri gerçekleşirse:
Denetimin Update yöntemini UpdatePanel açıkça çağırırsınız.
Geri gönderme, denetimin özelliği kullanılarak Triggers tetikleyici olarak tanımlanan bir denetimden UpdatePanel kaynaklanır. Bu senaryoda denetim, panel içeriğinin bir güncelleştirmesini açıkça tetikler. Denetim, tetikleyiciyi tanımlayan denetimin UpdatePanel içinde veya dışında olabilir.
ChildrenAsTriggers özelliği olarak ayarlanır
true
ve denetimin alt denetimi geri göndermeye UpdatePanel neden olur. İç içe UpdatePanel denetimin alt denetimi, açıkça tetikleyici olarak tanımlanmadığı sürece dış UpdatePanel denetimde güncelleştirmeye neden olmaz.