Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

ScriptManager.RegisterAsyncPostBackControl (Método)

Registra un control como desencadenador de postbacks asincrónicos.

Espacio de nombres:  System.Web.UI
Ensamblado:  System.Web.Extensions (en System.Web.Extensions.dll)
public void RegisterAsyncPostBackControl(
	Control control
)

Parámetros

control
Tipo: System.Web.UI.Control
Control que se va a registrar para los postbacks asincrónicos.
Excepción Condición
ArgumentNullException

El valor de control es null.

ArgumentException

La página se registra como un control de devolución de datos asincrónica.

ArgumentException

El control registrado no implementa la interfaz INamingContainer, IPostBackDataHandler o IPostBackEventHandler.

El método RegisterAsyncPostBackControl permite registrar controles de servidor web como desencadenadores para que realicen una devolución de datos asincrónica en lugar de una devolución de datos sincrónica. Cuando la propiedad ChildrenAsTriggers de un control UpdatePanel se establece en true (valor predeterminado), los controles de devolución de datos que se encuentran dentro del control UpdatePanel se registran automáticamente como controles de devolución de datos asincrónica.

Utilice el método RegisterAsyncPostBackControl para registrar los controles que se encuentran fuera de un control UpdatePanel como desencadenadores de devoluciones de datos asincrónicas y para actualizar, potencialmente, el contenido de un panel de actualización. Para actualizar un control UpdatePanel mediante programación, llame al método Update.

Puede agregar el desencadenador mediante declaración, a través del elemento Triggers del control UpdatePanel. En Visual Studio 2010, utilice el cuadro de diálogo Editor de la colección UpdatePanelTrigger del diseñador.

En el ejemplo siguiente se muestra cómo llamar al método RegisterAsyncPostBackControl para registrar un control Button de manera que provoque la actualización del contenido de un control UpdatePanel. El control Button no se encuentra dentro del control UpdatePanel. Se muestran dos botones: Button1 y Button2. Button1 actualiza el contenido del panel y Button2 actualiza la página entera.


<%@ 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>


En el ejemplo siguiente se muestra cómo llamar al método RegisterAsyncPostBackControl para registrar un control de usuario de manera que provoque la actualización del contenido de un control UpdatePanel. En el primer ejemplo se muestra una página donde se usa control de usuario. En el segundo ejemplo se muestra el control de usuario.



<%@ 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">

    protectedvoid Page_Load(object sender, EventArgs e)
    {
        ScriptManager1.RegisterAsyncPostBackControl(WebUserControl1);
    }

    protectedvoid Button1_Click(object sender, EventArgs e)
    {
        Label1.Text = "Panel refreshed at " + DateTime.Now.ToString();
    }

    protectedvoid 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>



<%@ Control Language="C#" ClassName="WebUserControl" %>

<script runat="server">
    publicevent EventHandler InnerClick
    {
        add
        {
            UCButton1.Click += value;
        }
        remove
        {
            UCButton1.Click -= value;
        }
    }
    public String Name
    {
        get
        {
            return UCTextBox1.Text;
        }
    }
</script>

<asp:Panel ID="UCPanel1" runat="server" GroupingText="User Control">
    Enter your name:
    <asp:TextBox ID="UCTextBox1" runat="server"></asp:TextBox>
    <br />
    <asp:Button ID="UCButton1" runat="server" Text="Submit" />
</asp:Panel>


.NET Framework

Compatible con: 4, 3.5

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar