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