UpdatePanelUpdateMode Enum
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mewakili kemungkinan mode pembaruan untuk konten dalam kontrol UpdatePanel.
public enum class UpdatePanelUpdateMode
public enum UpdatePanelUpdateMode
type UpdatePanelUpdateMode =
Public Enum UpdatePanelUpdateMode
- Warisan
Bidang
| Nama | Nilai | Deskripsi |
|---|---|---|
| Always | 0 | Konten kontrol diperbarui UpdatePanel untuk semua postback yang berasal dari halaman. Ini termasuk postback asinkron. |
| Conditional | 1 | Menentukan sejumlah kondisi di mana konten UpdatePanel kontrol diperbarui; lihat bagian Keterangan untuk informasi selengkapnya. |
Contoh
Contoh berikut mendeklarasikan dua UpdatePanel kontrol. Panel pertama mengatur properti ke UpdatePanel.UpdateModeConditional. Panel kedua telah UpdatePanel.UpdateMode diatur ke Always secara default. Tombol di luar kedua panel terdaftar sebagai kontrol postback asinkron dengan menggunakan ScriptManager.RegisterAsyncPostBackControl metode . Di penangan aktivitas klik tombol, UpdatePanel.Update metode panel pertama dipanggil jika lebih dari lima detik telah berlalu sejak pembaruan terakhirnya. Dalam skenario ini, konten panel diperbarui hanya jika pembaruan panel terakhir lebih dari lima detik yang lalu. Konten panel kedua selalu diperbarui.
<%@ 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>
Keterangan
UpdatePanelUpdateMode Enumerasi digunakan oleh UpdatePanel.UpdateMode properti dan menentukan kemungkinan mode pembaruan untuk konten UpdatePanel kontrol. Kontrol UpdatePanel mengharuskan ScriptManager.EnablePartialRendering properti untuk true penyajian halaman parsial terjadi.
Nilai UpdatePanel.UpdateMode default properti adalah Always.
UpdatePanel Jika kontrol berada di dalam kontrol lain UpdatePanel dan panel induk diperbarui, panel berlapis juga akan diperbarui terlepas dari UpdateMode nilai properti.
Nilai Conditional memperbarui konten UpdatePanel kontrol dalam kondisi berikut:
Metode UpdatePanel.Update ini disebut secara eksplisit.
Kontrol didefinisikan sebagai pemicu dengan menggunakan UpdatePanel.Triggers properti dan menyebabkan postback. Dalam skenario ini, kontrol adalah pemicu eksplisit untuk memperbarui konten panel. Kontrol pemicu dapat berada di dalam atau di luar UpdatePanel kontrol yang menentukan pemicu.
Properti UpdatePanel.ChildrenAsTriggers diatur ke
truedan kontrol turunan kontrol UpdatePanel menyebabkan postback. Dalam skenario ini, kontrol turunan kontrol UpdatePanel adalah pemicu implisit untuk memperbarui panel. Kontrol anak dari kontrol berlapis UpdatePanel tidak menyebabkan kontrol luar UpdatePanel diperbarui kecuali secara eksplisit didefinisikan sebagai pemicu.