AsyncPostBackTrigger Klasa

Definicja

Definiuje kontrolkę i opcjonalne zdarzenie kontrolki jako asynchroniczny wyzwalacz kontrolki po powrocie zwrotnym, który powoduje UpdatePanel odświeżenie kontrolki.

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
Dziedziczenie

Przykłady

W poniższym przykładzie pokazano, jak deklaratywnie dodać kontrolkę AsyncPostBackTrigger . Kontrolka Button , która znajduje się poza kontrolką UpdatePanel , umożliwia użytkownikom wprowadzanie terminu wyszukiwania w celu znalezienia w Products tabeli bazy danych Northwind. Kontrolka GridView , która znajduje się wewnątrz kontrolki UpdatePanel , pokazuje wyniki. Kontrolka Button jest określana jako wyzwalacz asynchroniczny dla kontrolki UpdatePanel .

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

Uwagi

Użyj kontrolki AsyncPostBackTrigger , aby włączyć wyzwalacze dla kontrolki UpdatePanel . Kontrolki, które są wyzwalaczami panelu aktualizacji, powodują odświeżenie zawartości panelu po asynchronicznej powróceniu. Definiowanie kontrolki wyzwalacza asynchronicznego jest przydatne w następujących scenariuszach:

  • W przypadku kontrolek spoza panelu.

  • W przypadku kontrolek, które znajdują się wewnątrz panelu, gdy ChildrenAsTriggers właściwość to false.

  • W przypadku kontrolek, które znajdują się wewnątrz zagnieżdżonych paneli, w celu odświeżenia paneli nadrzędnych.

Kontrolka, do AsyncPostBackTrigger której odwołuje się kontrolka, musi znajdować się w tym samym kontenerze nazewnictwa co panel aktualizacji, dla którego jest wyzwalaczem. Wyzwalacze oparte na kontrolkach w innych kontenerach nazewnictwa nie są obsługiwane.

Dodaj AsyncPostBackTrigger kontrolki za pomocą okna dialogowego UpdatePanelTrigger Collection Editor w projektancie lub tworząc Triggers element deklaratywnie w kontrolce UpdatePanel . Właściwość jest wymagana ControlID , ale właściwość jest opcjonalna EventName . EventName Jeśli właściwość nie zostanie określona, DefaultEventAttribute atrybut kontrolki jest używany do określenia zdarzenia domyślnego. Na przykład zdarzeniem domyślnym kontrolki ButtonClick jest zdarzenie. Właściwość EventName jest bez uwzględniania wielkości liter.

Możesz również odwołać się do kontenera nazewnictwa jako wyzwalacza. W takim przypadku wszystkie kontrolki podrzędne w kontenerze, które powodują powrót, są traktowane jako wyzwalacze dla kontrolki UpdatePanel .

Programowe dodawanie AsyncPostBackTrigger kontrolek nie jest obsługiwane. Aby programowo zarejestrować kontrolkę postback, użyj RegisterAsyncPostBackControl metody kontrolki ScriptManager . Następnie wywołaj metodę UpdateUpdatePanel kontrolki, gdy kontrolka opublikuje z powrotem.

Jeśli zdefiniujesz kontrolkę przy użyciu metody PostBackTrigger i AsyncPostBackTrigger, zostanie zgłoszony wyjątek.

Konstruktory

AsyncPostBackTrigger()

Inicjuje AsyncPostBackTrigger nowe wystąpienie klasy.

Właściwości

ControlID

Pobiera lub ustawia nazwę kontrolki, która wyzwala asynchroniczne wycofywanie dla kontrolki UpdatePanel .

EventName

Pobiera lub ustawia zdarzenie kontrolki po powrocie zwrotne, które wyzwala aktualizację UpdatePanel kontrolki.

Owner

Pobiera odwołanie do kontrolki UpdatePanelUpdatePanelTrigger docelowej.

(Odziedziczone po UpdatePanelTrigger)

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
FindTargetControl(Boolean)

Wyszukuje kontrolkę ControlID określoną we właściwości .

(Odziedziczone po UpdatePanelControlTrigger)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
HasTriggered()

Zwraca wartość wskazującą, czy wyzwalacz został wywołany.

Initialize()

Inicjuje kontrolkę AsyncPostBackTrigger i określa, czy zdarzenie o nazwie w wyzwalaczu istnieje i jest prawidłowe.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnEvent(Object, EventArgs)

Zgłasza zdarzenie, które wyzwoli powrót i odświeżenie kontrolki UpdatePanel .

ToString()

Zwraca reprezentację ciągu bieżącej AsyncPostBackTrigger kontrolki.

Dotyczy

Zobacz też