AsyncPostBackTrigger Класс

Определение

Определяет элемент управления и необязательное событие элемента управления в качестве асинхронного управляющего триггера обратной передачи, благодаря которому происходит обновление элемента управления UpdatePanel.Defines a control and optional event of the control as an asynchronous postback control trigger that causes an UpdatePanel control to refresh.

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 добавить элемент управления.The following example shows how to add an AsyncPostBackTrigger control declaratively. Элемент управления, находящийся UpdatePanel за пределами элемента управления, позволяет пользователям ввести искомое Products условие для поиска в таблице базы данных Northwind. ButtonA Button control that is outside an UpdatePanel control lets users enter a search term to find in the Products table of the Northwind database. Элементы управления, UpdatePanel находящиеся внутри элемента управления, показывают результаты. GridViewA GridView control that is inside the UpdatePanel control shows the results. Элемент управления указывается как асинхронный триггер UpdatePanel для элемента управления. ButtonThe Button control is specified as an asynchronous trigger for the 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>

Комментарии

Используйте элемент управления для включения элементов управления в триггеры UpdatePanel для элемента управления. AsyncPostBackTriggerUse the AsyncPostBackTrigger control to enable controls to be triggers for an UpdatePanel control. Элементы управления, являющиеся триггерами для панели обновления, вызывают обновление содержимого панели после асинхронной обратной передачи.Controls that are triggers for an update panel cause a refresh of the panel's content after an asynchronous postback. Определение элемента управления асинхронным триггером полезно в следующих сценариях:Defining an asynchronous trigger control is useful in the following scenarios:

  • Для элементов управления, находящихся за пределами панели.For controls that are outside a panel.

  • Для элементов управления, находящихся внутри панели ChildrenAsTriggers , если falseсвойство имеет значение.For controls that are inside a panel when the ChildrenAsTriggers property is false.

  • Для элементов управления, находящихся внутри вложенных панелей, чтобы обновить родительские панели.For controls that are inside nested panels, in order to cause a refresh of parent panels.

Элемент управления, на AsyncPostBackTrigger который ссылается элемент управления, должен находиться в том же контейнере именования, что и панель обновления, для которой он является триггером.The control that the AsyncPostBackTrigger control references must be in the same naming container as the update panel for which it is a trigger. Триггеры, основанные на элементах управления в других контейнерах именования, не поддерживаются.Triggers that are based on controls in other naming containers are not supported.

Добавить AsyncPostBackTrigger элементы управления можно с помощью диалогового окна Редактор коллекции упдатепанелтригжер в конструкторе Triggers или путем декларативного создания элемента в UpdatePanel элементе управления.Add AsyncPostBackTrigger controls either by using the UpdatePanelTrigger Collection Editor dialog box in the designer or by creating a Triggers element declaratively in the UpdatePanel control. Свойство является обязательным, EventName но свойство является необязательным. ControlIDThe ControlID property is required, but the EventName property is optional. Если свойство не задано DefaultEventAttribute , атрибут элемента управления используется для определения события по умолчанию. EventNameIf the EventName property is not specified, the DefaultEventAttribute attribute of the control is used to determine the default event. Например, событием по умолчанию для Button элемента управления Click является событие.For example, the default event for the Button control is the Click event. EventName Свойство не учитывает регистр.The EventName property is case-insensitive.

Вы также можете ссылаться на контейнер именования в качестве триггера.You can also reference a naming container as a trigger. В этом случае все дочерние элементы управления в контейнере, которые вызывают обратную передачу, UpdatePanel считаются триггерами для этого элемента управления.In that case, all child controls in the container that cause a postback are considered triggers for the UpdatePanel control.

Программное AsyncPostBackTrigger Добавление элементов управления не поддерживается.Programmatically adding AsyncPostBackTrigger controls is not supported. Чтобы программно зарегистрировать элемент управления обратной передачи RegisterAsyncPostBackControl , используйте метод ScriptManager элемента управления.To programmatically register a postback control, use the RegisterAsyncPostBackControl method of the ScriptManager control. Затем вызовите Update метод UpdatePanel элемента управления, когда элемент управления выполняет обратную передачу.Then call the Update method of the UpdatePanel control when the control posts back.

Если вы определяете элемент управления, PostBackTrigger используя AsyncPostBackTriggerи, и, возникает исключение.If you define a control using both PostBackTrigger and AsyncPostBackTrigger, an exception is thrown.

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

AsyncPostBackTrigger()

Инициализирует новый экземпляр класса AsyncPostBackTrigger.Initializes a new instance of an AsyncPostBackTrigger class.

Свойства

ControlID

Возвращает или задает имя элемента управления, которое инициализирует асинхронную обратную передачу для элемента управления UpdatePanel.Gets or sets the name of the control that triggers an asynchronous postback for an UpdatePanel control.

EventName

Возвращает или задает событие элемента управления обратной передачи, которое инициализирует подлежащий обновлению элемент управления UpdatePanel.Gets or sets the postback control event that triggers an UpdatePanel control to be updated.

Owner

Возвращает ссылку на элемент управления UpdatePanel, который распространяется на UpdatePanelTrigger.Gets a reference to the UpdatePanel control that the UpdatePanelTrigger targets.

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

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

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

Производит поиск элемента управления, указанного в свойстве ControlID.Searches for the control specified in the ControlID property.

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

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

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

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

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

Возвращает значение, которое указывает, был ли вызван триггер.Returns a value that indicates whether the trigger was invoked.

Initialize()

Инициализирует элемент управления AsyncPostBackTrigger и определяет, существует ли событие с именем, указанным в триггере, и является ли оно допустимым.Initializes the AsyncPostBackTrigger control and determines whether the event that is named in the trigger exists and is valid.

MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Вызывает событие, которое инициализирует обратную передачу и обновляет элемент управления UpdatePanel.Raises the event that will trigger a postback and refresh of an UpdatePanel control.

ToString()

Возвращает строковое представление текущего элемента управления AsyncPostBackTrigger.Returns a string representation of the current AsyncPostBackTrigger control.

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

Дополнительно