ScriptManager.RegisterAsyncPostBackControl(Control) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Registriert ein Steuerelement als Trigger für asynchrone Postbacks.
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
Das Steuerelement, das für asynchrone Postbacks registriert werden soll.
Ausnahmen
control
ist null
.
Die Seite wird als Steuerelement für asynchrone Postbacks registriert.
- oder -
Das registrierte Steuerelement implementiert nicht die Schnittstellen INamingContainer, IPostBackDataHandler oder IPostBackEventHandler.
Beispiele
Im folgenden Beispiel wird gezeigt, wie Sie die RegisterAsyncPostBackControl Methode aufrufen, um ein Button Steuerelement zu registrieren, damit ein Update des Inhalts eines UpdatePanel Steuerelements verursacht wird. Das Button Steuerelement befindet sich nicht innerhalb des Steuerelements UpdatePanel . Zwei Schaltflächen werden angezeigt: Button1
und Button2
. Button1
aktualisiert den Inhalt des Panels und Button2
aktualisiert die gesamte Seite.
<%@ 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>
Das folgende Beispiel zeigt, wie Sie die RegisterAsyncPostBackControl Methode aufrufen, um ein Benutzersteuerelement zu registrieren, damit ein Update des Inhalts eines UpdatePanel Steuerelements verursacht wird. Das erste Beispiel zeigt eine Seite mit dem Benutzersteuerelement. Das zweite Beispiel zeigt das Benutzersteuerelement.
<%@ 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>
Hinweise
Mit der RegisterAsyncPostBackControl Methode können Sie Webserversteuerelemente als Trigger registrieren, sodass sie anstelle eines synchronen Postbacks ein asynchrones Postback ausführen. Wenn die Eigenschaft eines UpdatePanel Steuerelements festgelegt ist (dies ist die ChildrenAsTriggers Standardeinstellung true
), werden Postbacksteuerelemente innerhalb des UpdatePanel Steuerelements automatisch als asynchrone Postbacksteuerelemente registriert.
Verwenden Sie die RegisterAsyncPostBackControl Methode, um Steuerelemente außerhalb eines UpdatePanel Steuerelements als Trigger für asynchrone Postbacks zu registrieren und den Inhalt eines Aktualisierungsbereichs potenziell zu aktualisieren. Rufen Sie die Update Methode auf, um ein UpdatePanel Steuerelement programmgesteuert zu aktualisieren.
Sie können den Trigger deklarativ hinzufügen, indem Sie das Triggers
Element des UpdatePanel Steuerelements verwenden. Verwenden Sie in Visual Studio das Dialogfeld "UpdatePanelTrigger-Sammlungs-Editor" des Designers.