Compartir vía


AsyncPostBackTrigger Clase

Definición

Define un control y el evento opcional del control como desencadenador del control de postback asincrónico que provoca la actualización de un control UpdatePanel.

public ref class AsyncPostBackTrigger : System::Web::UI::UpdatePanelControlTrigger
public class AsyncPostBackTrigger : System.Web.UI.UpdatePanelControlTrigger
type AsyncPostBackTrigger = class
    inherit UpdatePanelControlTrigger
Public Class AsyncPostBackTrigger
Inherits UpdatePanelControlTrigger
Herencia

Ejemplos

En el ejemplo siguiente se muestra cómo agregar un AsyncPostBackTrigger control mediante declaración. Un Button control que está fuera de un UpdatePanel control permite a los usuarios escribir un término de búsqueda para buscar en la Products tabla de la base de datos Northwind. Un GridView control que está dentro del UpdatePanel control muestra los resultados. El Button control se especifica como un desencadenador asincrónico para el UpdatePanel control.

<%@ 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 Button1_Click(object sender, EventArgs e)
    {
        SqlDataSource1.SelectParameters["SearchTerm"].DefaultValue = 
            Server.HtmlEncode(TextBox1.Text);
        Label1.Text = "Searching for '" + 
            Server.HtmlEncode(TextBox1.Text) + "'";
    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>AsyncPostBackTrigger Example</title>
</head>
<body>
    <form id="form1" defaultbutton="Button1"
          defaultfocus="TextBox1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server" />
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:Button ID="Button1" Text="Submit" 
                        OnClick="Button1_Click" runat="server"  />
            <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" 
                             runat="server">
                <Triggers>
                  <asp:AsyncPostBackTrigger ControlID="Button1" />
                </Triggers>
                <ContentTemplate>
                    <hr />
                    <asp:Label ID="Label1" runat="server"/>
                    <br />
                    <asp:GridView ID="GridView1" runat="server" AllowPaging="True"
                        AllowSorting="True"
                        DataSourceID="SqlDataSource1">
                        <EmptyDataTemplate>
                        Enter a search term.
                        </EmptyDataTemplate>
                    </asp:GridView>
                    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                        ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
                        SelectCommand="SELECT [ProductName], [UnitsInStock] FROM 
                        [Alphabetical list of products] WHERE ([ProductName] LIKE 
                        '%' + @SearchTerm + '%')">
                        <SelectParameters>
                            <asp:Parameter Name="SearchTerm" Type="String" />
                        </SelectParameters>
                    </asp:SqlDataSource>
                </ContentTemplate>
            </asp:UpdatePanel>
        </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 Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)

        SqlDataSource1.SelectParameters("SearchTerm").DefaultValue = _
            Server.HtmlEncode(TextBox1.Text)
        Label1.Text = "Searching for '" & _
            Server.HtmlEncode(TextBox1.Text) & "'"

    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>AsyncPostBackTrigger Example</title>
</head>
<body>
    <form id="form1" defaultbutton="Button1"
          defaultfocus="TextBox1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server" />
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:Button ID="Button1" Text="Submit" 
                        OnClick="Button1_Click" runat="server"  />
            <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" 
                             runat="server">
                <Triggers>
                  <asp:AsyncPostBackTrigger ControlID="Button1" />
                </Triggers>
                <ContentTemplate>
                    <hr />
                    <asp:Label ID="Label1" runat="server"/>
                    <br />
                    <asp:GridView ID="GridView1" runat="server" AllowPaging="True"
                        AllowSorting="True"
                        DataSourceID="SqlDataSource1">
                        <EmptyDataTemplate>
                        Enter a search term.
                        </EmptyDataTemplate>
                    </asp:GridView>
                    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                        ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
                        SelectCommand="SELECT [ProductName], [UnitsInStock] FROM 
                        [Alphabetical list of products] WHERE ([ProductName] LIKE 
                        '%' + @SearchTerm + '%')">
                        <SelectParameters>
                            <asp:Parameter Name="SearchTerm" Type="String" />
                        </SelectParameters>
                    </asp:SqlDataSource>
                </ContentTemplate>
            </asp:UpdatePanel>
        </div>
    </form>
</body>
</html>

Comentarios

Use el AsyncPostBackTrigger control para permitir que los controles sean desencadenadores para un UpdatePanel control. Los controles que son desencadenadores para un panel de actualización provocan una actualización del contenido del panel después de un postback asincrónico. La definición de un control de desencadenador asincrónico es útil en los escenarios siguientes:

  • Para los controles que están fuera de un panel.

  • Para los controles que están dentro de un panel cuando la ChildrenAsTriggers propiedad es false.

  • En el caso de los controles que están dentro de paneles anidados, con el fin de provocar una actualización de los paneles primarios.

El control al que hace referencia el AsyncPostBackTrigger control debe estar en el mismo contenedor de nomenclatura que el panel de actualización para el que es un desencadenador. No se admiten desencadenadores basados en controles de otros contenedores de nomenclatura.

Agregue AsyncPostBackTrigger controles mediante el cuadro de diálogo Editor de colección UpdatePanelTrigger en el diseñador o creando un Triggers elemento mediante declaración en el UpdatePanel control . La ControlID propiedad es necesaria, pero la EventName propiedad es opcional. Si no se especifica la EventName propiedad , se usa el DefaultEventAttribute atributo del control para determinar el evento predeterminado. Por ejemplo, el evento predeterminado para el Button control es el Click evento . La EventName propiedad no distingue mayúsculas de minúsculas.

También puede hacer referencia a un contenedor de nomenclatura como desencadenador. En ese caso, todos los controles secundarios del contenedor que provocan un postback se consideran desencadenadores para el UpdatePanel control.

No se admite la adición AsyncPostBackTrigger de controles mediante programación. Para registrar mediante programación un control de postback, use el RegisterAsyncPostBackControl método del ScriptManager control . A continuación, llame al Update método del UpdatePanel control cuando el control vuelva a exponer.

Si define un control mediante y PostBackTriggerAsyncPostBackTrigger, se produce una excepción.

Constructores

AsyncPostBackTrigger()

Inicializa una nueva instancia de una clase AsyncPostBackTrigger.

Propiedades

ControlID

Obtiene o establece el nombre del control que desencadena un postback asincrónico en un control UpdatePanel.

EventName

Obtiene o establece el evento de postback que desencadena la actualización de un control UpdatePanel.

Owner

Obtiene una referencia al control UpdatePanel que tiene como destino UpdatePanelTrigger.

(Heredado de UpdatePanelTrigger)

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
FindTargetControl(Boolean)

Busca el control especificado en la propiedad ControlID.

(Heredado de UpdatePanelControlTrigger)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
HasTriggered()

Devuelve un valor que indica si se invocó el desencadenador.

Initialize()

Inicializa el control AsyncPostBackTrigger y determina si el evento citado en el desencadenador existe y es válido.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnEvent(Object, EventArgs)

Genera el evento que desencadenará un postback y una actualización de un control UpdatePanel.

ToString()

Devuelve una representación de cadena del control AsyncPostBackTrigger actual.

Se aplica a

Consulte también