ScriptManager.RegisterAsyncPostBackControl(Control) Metode
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.
Mendaftarkan kontrol sebagai pemicu untuk postback asinkron.
public:
virtual void RegisterAsyncPostBackControl(System::Web::UI::Control ^ control);
public void RegisterAsyncPostBackControl(System.Web.UI.Control control);
abstract member RegisterAsyncPostBackControl : System.Web.UI.Control -> unit
override this.RegisterAsyncPostBackControl : System.Web.UI.Control -> unit
Public Sub RegisterAsyncPostBackControl (control As Control)
Parameter
- control
- Control
Kontrol untuk mendaftar untuk postback asinkron.
Pengecualian
control adalah null.
Halaman terdaftar sebagai kontrol postback asinkron.
-atau-
Kontrol terdaftar tidak mengimplementasikan INamingContainerantarmuka , , IPostBackDataHandleratau IPostBackEventHandler .
Contoh
Contoh berikut menunjukkan cara memanggil RegisterAsyncPostBackControl metode untuk mendaftarkan Button kontrol sehingga menyebabkan pembaruan UpdatePanel konten kontrol.
Button Kontrol tidak ada di dalam UpdatePanel kontrol. Dua tombol ditampilkan: Button1 dan Button2.
Button1 me-refresh konten panel, dan Button2 me-refresh seluruh halaman.
<%@ 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 void Page_Load(object sender, EventArgs e)
{
ScriptManager1.RegisterAsyncPostBackControl(Button1);
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "Panel refreshed at " + DateTime.Now.ToString();
}
protected void Button2_Click(object sender, EventArgs e)
{
Label1.Text = "Page refreshed.";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>ScriptManager RegisterAsyncPostBackControl Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server"/>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<fieldset>
<legend>Update Panel</legend>
<asp:Label ID="Label1" runat="server">Initial postback occurred.</asp:Label>
</fieldset>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Button ID="Button1" runat="server" Text="Update Panel" OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="Refresh Page" OnClick="Button2_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 Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)
ScriptManager1.RegisterAsyncPostBackControl(Button1)
End Sub
Protected Sub Button1_Click(ByVal Sender As Object, ByVal E As EventArgs)
Label1.Text = "Panel refreshed at " + DateTime.Now.ToString()
End Sub
Protected Sub Button2_Click(ByVal Sender As Object, ByVal E As EventArgs)
Label1.Text = "Page refreshed."
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>ScriptManager RegisterAsyncPostBackControl Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server"/>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<fieldset>
<legend>Update Panel</legend>
<asp:Label ID="Label1" runat="server">Initial postback occurred.</asp:Label>
</fieldset>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Button ID="Button1" runat="server" Text="Update Panel" OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="Refresh Page" OnClick="Button2_Click" />
</div>
</form>
</body>
</html>
Contoh berikut menunjukkan cara memanggil RegisterAsyncPostBackControl metode untuk mendaftarkan kontrol pengguna sehingga menyebabkan pembaruan UpdatePanel konten kontrol. Contoh pertama memperlihatkan halaman menggunakan kontrol pengguna. Contoh kedua menunjukkan kontrol pengguna.
<%@ Page Language="C#" %>
<%@ Register Src="Controls/WebUserControl.ascx" TagName="WebUserControl"
TagPrefix="uc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
ScriptManager1.RegisterAsyncPostBackControl(WebUserControl1);
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "Panel refreshed at " + DateTime.Now.ToString();
}
protected void WebUserControl1_Click(object sender, EventArgs e)
{
Label1.Text = "Panel refreshed at " + DateTime.Now.ToString() +
". Welcome " + WebUserControl1.Name + ". ";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>ScriptManager RegisterAsyncPostBackControl Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<fieldset>
<legend>Update Panel</legend>
<asp:Label ID="Label1" runat="server">Initial postback occurred.</asp:Label>
</fieldset>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Button ID="Button1" runat="server" Text="Update Panel" OnClick="Button1_Click" />
<uc1:webusercontrol id="WebUserControl1" runat="server" oninnerclick="WebUserControl1_Click" />
</div>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Register Src="Controls/WebUserControl.ascx" TagName="WebUserControl"
TagPrefix="uc1" %>
<!DOCTYPE html PUBLIC "-'W3C'DTD XHTML 1.0 Transitional'EN"
"http:'www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal Sender As Object, ByVal E As EventArgs)
ScriptManager1.RegisterAsyncPostBackControl(WebUserControl1)
End Sub
Protected Sub Button1_Click(ByVal Sender As Object, ByVal E As EventArgs)
Label1.Text = "Panel refreshed at " + DateTime.Now.ToString()
End Sub
Protected Sub WebUserControl1_Click(ByVal Sender As Object, ByVal E As EventArgs)
Label1.Text = "Panel refreshed at " + DateTime.Now.ToString() + _
". Welcome " + WebUserControl1.Name + ". "
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>ScriptManager RegisterAsyncPostBackControl Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server"/>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<fieldset>
<legend>Update Panel</legend>
<asp:Label ID="Label1" runat="server">Initial postback occurred.</asp:Label>
</fieldset>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Button ID="Button1" runat="server" Text="Update Panel" OnClick="Button1_Click" />
<uc1:webusercontrol id="WebUserControl1" runat="server" oninnerclick="WebUserControl1_Click" />
</div>
</form>
</body>
</html>
Keterangan
Metode ini RegisterAsyncPostBackControl memungkinkan Anda mendaftarkan kontrol server Web sebagai pemicu sehingga mereka melakukan postback asinkron alih-alih postback sinkron.
ChildrenAsTriggers Ketika properti UpdatePanel kontrol diatur ke true (yang merupakan default), kontrol postback di dalam UpdatePanel kontrol secara otomatis terdaftar sebagai kontrol postback asinkron.
RegisterAsyncPostBackControl Gunakan metode untuk mendaftarkan kontrol di luar UpdatePanel kontrol sebagai pemicu untuk postback asinkron, dan untuk berpotensi memperbarui konten panel pembaruan. Untuk memperbarui UpdatePanel kontrol secara terprogram, panggil Update metode .
Anda dapat menambahkan pemicu secara deklaratif dengan menggunakan Triggers elemen UpdatePanel kontrol. Di Visual Studio, gunakan kotak dialog Editor Koleksi UpdatePanelTrigger desainer .