Condividi tramite


AsyncPostBackTrigger Classe

Definizione

Definisce un controllo e un evento facoltativo del controllo come trigger del controllo di postback asincrono che determina l'aggiornamento di un controllo 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
Ereditarietà

Esempio

Nell'esempio seguente viene illustrato come aggiungere un AsyncPostBackTrigger controllo dichiarativo. Un Button controllo esterno a un UpdatePanel controllo consente agli utenti di immettere un termine di ricerca per 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 nidificati, per causare un aggiornamento dei pannelli padre.

Il controllo che i riferimenti al AsyncPostBackTrigger controllo devono trovarsi nello stesso contenitore di denominazione del pannello di aggiornamento per il quale è un trigger. I trigger basati sui 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 dichiarativo nel UpdatePanel controllo. La ControlID proprietà è obbligatoria, ma la EventName proprietà è facoltativa. Se la EventName proprietà non è specificata, l'attributo DefaultEventAttribute del controllo viene usato per determinare l'evento predefinito. Ad esempio, l'evento predefinito per il controllo è l'evento ButtonClick . La EventName proprietà è senza 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 a livello di codice dei AsyncPostBackTrigger controlli non è supportata. Per registrare a livello di codice un controllo postback, usare 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 e AsyncPostBackTrigger, viene generata un'eccezione.

Costruttori

AsyncPostBackTrigger()

Inizializza una nuova istanza di una classe AsyncPostBackTrigger.

Proprietà

ControlID

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

EventName

Ottiene o imposta l'evento del controllo di postback che attiva un controllo UpdatePanel da aggiornare.

Owner

Ottiene un riferimento al controllo UpdatePanel a cui è destinato l'oggetto UpdatePanelTrigger.

(Ereditato da UpdatePanelTrigger)

Metodi

Equals(Object)

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

(Ereditato da Object)
FindTargetControl(Boolean)

Cerca il controllo specificato nella proprietà ControlID.

(Ereditato da UpdatePanelControlTrigger)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
HasTriggered()

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

Initialize()

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

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnEvent(Object, EventArgs)

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

ToString()

Restituisce una rappresentazione di stringa del controllo AsyncPostBackTrigger corrente.

Si applica a

Vedi anche