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.
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
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
trueayarlanı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.