UpdatePanel.UpdateMode Properti
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.
Mendapatkan atau menetapkan nilai yang menunjukkan kapan UpdatePanel konten kontrol diperbarui.
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
Nilai Properti
Salah UpdatePanelUpdateMode satu nilai. Defaultnya adalah Always.
Pengecualian
Jenis yang ditentukan bukan salah UpdatePanelUpdateMode satu nilai.
Contoh
Contoh berikut mendeklarasikan dua UpdatePanel kontrol. Di panel pertama, UpdateMode properti diatur ke Conditional. Di panel kedua, UpdateMode diatur ke Always. Tombol di luar kedua panel terdaftar sebagai kontrol postback asinkron dengan memanggil RegisterAsyncPostBackControl metode ScriptManager kontrol. Di penanganan aktivitas tombol Click , Update metode panel pertama dipanggil jika lebih dari lima detik telah berlalu sejak pembaruan terakhirnya. Dalam skenario ini, konten panel diperbarui hanya jika refresh 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
UpdatePanel Ketika kontrol tidak berada di dalam kontrol lainUpdatePanel, panel diperbarui seperti yang ditentukan oleh pengaturan UpdateMode properti dan ChildrenAsTriggers , bersama dengan pengumpulan pemicu. UpdatePanel Ketika kontrol berada di dalam kontrol lainUpdatePanel, panel anak secara otomatis diperbarui ketika panel induk diperbarui.
Konten UpdatePanel kontrol diperbarui dalam keadaan berikut:
UpdateMode Jika properti diatur ke Always, UpdatePanel konten kontrol diperbarui pada setiap postback yang berasal dari mana saja di halaman. Ini termasuk postback asinkron dari kontrol di dalam kontrol lain UpdatePanel dan postback dari kontrol yang tidak berada di dalam UpdatePanel kontrol.
UpdatePanel Jika kontrol ditumpuk di dalam kontrol lain UpdatePanel dan panel pembaruan induk diperbarui.
UpdateMode Jika properti diatur ke Conditional, dan salah satu kondisi berikut terjadi:
Anda memanggil Update metode UpdatePanel kontrol secara eksplisit.
Postback disebabkan oleh kontrol yang didefinisikan sebagai pemicu dengan menggunakan Triggers properti UpdatePanel kontrol. Dalam skenario ini, kontrol secara eksplisit memicu pembaruan konten panel. Kontrol dapat berada di dalam atau di luar UpdatePanel kontrol yang menentukan pemicu.
Properti ChildrenAsTriggers diatur ke
truedan kontrol turunan kontrol UpdatePanel menyebabkan postback. Kontrol anak dari kontrol berlapis UpdatePanel tidak menyebabkan pembaruan ke kontrol luar UpdatePanel kecuali secara eksplisit didefinisikan sebagai pemicu.