Поделиться через


AsyncPostBackTrigger Класс

Определение

Определяет элемент управления и необязательное событие элемента управления в качестве асинхронного управляющего триггера обратной передачи, благодаря которому происходит обновление элемента управления 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
Наследование

Примеры

В следующем примере показано, как добавить AsyncPostBackTrigger элемент управления декларативно. Элемент Button управления, который находится за пределами UpdatePanel элемента управления, позволяет пользователям вводить условие поиска для поиска в Products таблице базы данных Northwind. В элементе GridView управления, который находится внутри UpdatePanel элемента управления, отображаются результаты. Элемент Button управления указывается в качестве асинхронного триггера 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>

Комментарии

Используйте элемент управления , AsyncPostBackTrigger чтобы включить элементы управления в триггеры для элемента UpdatePanel управления. Элементы управления, которые являются триггерами для панели обновления, вызывают обновление содержимого панели после асинхронной обратной передачи. Определение асинхронного элемента управления триггером полезно в следующих сценариях:

  • Для элементов управления, которые находятся за пределами панели.

  • Для элементов управления, которые находятся внутри панели, ChildrenAsTriggers если свойство имеет значение false.

  • Для элементов управления, которые находятся внутри вложенных панелей, чтобы вызвать обновление родительских панелей.

Элемент управления, на который AsyncPostBackTrigger ссылается элемент управления, должен находиться в том же контейнере именования, что и панель обновления, для которой он является триггером. Триггеры, основанные на элементах управления в других контейнерах именования, не поддерживаются.

Добавьте AsyncPostBackTrigger элементы управления с помощью диалогового окна Редактор коллекции UpdatePanelTrigger в конструкторе или путем декларативного создания Triggers элемента в элементе UpdatePanel управления . Свойство ControlID является обязательным, но EventName свойство является необязательным. EventName Если свойство не указано, DefaultEventAttribute атрибут элемента управления используется для определения события по умолчанию. Например, событием по умолчанию для Button элемента управления является Click событие . Свойство EventName не учитывает регистр.

Вы также можете ссылаться на контейнер именования в качестве триггера. В этом случае все дочерние элементы управления в контейнере, вызывающие обратную передачу UpdatePanel , считаются триггерами для элемента управления .

Программное добавление AsyncPostBackTrigger элементов управления не поддерживается. Чтобы программно зарегистрировать элемент управления обратной передачи, используйте RegisterAsyncPostBackControl метод ScriptManager элемента управления . Затем вызовите Update метод элемента управления , UpdatePanel когда элемент управления отправляет обратно.

Если вы определяете элемент управления с помощью и PostBackTriggerAsyncPostBackTrigger, возникает исключение.

Конструкторы

AsyncPostBackTrigger()

Инициализирует новый экземпляр класса AsyncPostBackTrigger.

Свойства

ControlID

Возвращает или задает имя элемента управления, которое инициализирует асинхронную обратную передачу для элемента управления UpdatePanel.

EventName

Возвращает или задает событие элемента управления обратной передачи, которое инициализирует подлежащий обновлению элемент управления UpdatePanel.

Owner

Возвращает ссылку на элемент управления UpdatePanel, который распространяется на UpdatePanelTrigger.

(Унаследовано от UpdatePanelTrigger)

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
FindTargetControl(Boolean)

Производит поиск элемента управления, указанного в свойстве ControlID.

(Унаследовано от UpdatePanelControlTrigger)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
HasTriggered()

Возвращает значение, которое указывает, был ли вызван триггер.

Initialize()

Инициализирует элемент управления AsyncPostBackTrigger и определяет, существует ли событие с именем, указанным в триггере, и является ли оно допустимым.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
OnEvent(Object, EventArgs)

Вызывает событие, которое инициализирует обратную передачу и обновляет элемент управления UpdatePanel.

ToString()

Возвращает строковое представление текущего элемента управления AsyncPostBackTrigger.

Применяется к

См. также раздел