Condividi tramite


AsyncPostBackTrigger Classe

Definizione

Definisce un controllo e un evento facoltativo del controllo come trigger di controllo postback asincrono che causa l'aggiornamento di un UpdatePanel controllo.

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
Ereditarietà

Esempio

Nell'esempio seguente viene illustrato come aggiungere un AsyncPostBackTrigger controllo in modo dichiarativo. Un Button controllo esterno a un UpdatePanel controllo consente agli utenti di immettere un termine di ricerca da trovare nella Products tabella del database Northwind. Un GridView controllo che si trova all'interno del UpdatePanel controllo mostra i risultati. Il Button controllo viene specificato come trigger asincrono per il UpdatePanel controllo .

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

Commenti

Usare il AsyncPostBackTrigger controllo per abilitare i controlli da attivare per un UpdatePanel controllo. I controlli attivati per un pannello di aggiornamento causano un aggiornamento del contenuto del pannello dopo un postback asincrono. La definizione di un controllo trigger asincrono è utile negli scenari seguenti:

  • Per i controlli esterni a un pannello.

  • Per i controlli all'interno di un pannello quando la ChildrenAsTriggers proprietà è false.

  • Per i controlli all'interno di pannelli annidati, per eseguire un aggiornamento dei pannelli padre.

Il controllo a cui fa riferimento il AsyncPostBackTrigger controllo deve trovarsi nello stesso contenitore di denominazione del pannello di aggiornamento per il quale si tratta di un trigger. I trigger basati su controlli in altri contenitori di denominazione non sono supportati.

Aggiungere AsyncPostBackTrigger controlli usando la finestra di dialogo Editor raccolta UpdatePanelTrigger nella finestra di progettazione o creando un Triggers elemento in modo dichiarativo nel UpdatePanel controllo . La ControlID proprietà è obbligatoria, ma la EventName proprietà è facoltativa. Se la EventName proprietà non viene specificata, l'attributo DefaultEventAttribute del controllo viene utilizzato per determinare l'evento predefinito. Ad esempio, l'evento predefinito per il Button controllo è l'evento Click . La EventName proprietà non fa distinzione tra maiuscole e minuscole.

È anche possibile fare riferimento a un contenitore di denominazione come trigger. In tal caso, tutti i controlli figlio nel contenitore che causano un postback vengono considerati trigger per il UpdatePanel controllo.

L'aggiunta AsyncPostBackTrigger di controlli a livello di codice non è supportata. Per registrare a livello di codice un controllo postback, utilizzare il RegisterAsyncPostBackControl metodo del ScriptManager controllo . Chiamare quindi il Update metodo del UpdatePanel controllo quando il controllo esegue il postback.

Se si definisce un controllo che usa sia PostBackTrigger che AsyncPostBackTrigger, viene generata un'eccezione.

Costruttori

Nome Descrizione
AsyncPostBackTrigger()

Inizializza una nuova istanza di una AsyncPostBackTrigger classe .

Proprietà

Nome Descrizione
ControlID

Ottiene o imposta il nome del controllo che attiva un postback asincrono per un UpdatePanel controllo .

EventName

Ottiene o imposta l'evento di controllo di postback che attiva l'aggiornamento di un UpdatePanel controllo.

Owner

Ottiene un riferimento al UpdatePanel controllo UpdatePanelTrigger di destinazione.

(Ereditato da UpdatePanelTrigger)

Metodi

Nome Descrizione
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
FindTargetControl(Boolean)

Cerca il controllo specificato nella ControlID proprietà .

(Ereditato da UpdatePanelControlTrigger)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
HasTriggered()

Restituisce un valore che indica se il trigger è stato richiamato.

Initialize()

Inizializza il AsyncPostBackTrigger controllo e determina se l'evento denominato nel trigger esiste ed è valido.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OnEvent(Object, EventArgs)

Genera l'evento che attiverà un postback e l'aggiornamento di un UpdatePanel controllo.

ToString()

Restituisce una rappresentazione di stringa del controllo corrente AsyncPostBackTrigger .

Si applica a

Vedi anche