AsyncPostBackTrigger Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Define um evento de controlo e opcional do controlo como um gatilho de controlo postback assíncrono que faz com que um UpdatePanel controlo seja atualizado.
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
- Herança
Exemplos
O exemplo seguinte mostra como adicionar um AsyncPostBackTrigger controlo de forma declarativa. Um controlo que está fora de um UpdatePanel controlo permite aos utilizadores introduzir Button um termo de pesquisa para encontrar na Products tabela da base de dados Northwind. Um controlo que está dentro do UpdatePanel controlo GridView mostra os resultados. O Button controlo é especificado como um gatilho assíncrono para o UpdatePanel controlo.
<%@ 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>
Observações
Use o AsyncPostBackTrigger controlo para permitir que os controlos sejam gatilhos para um UpdatePanel controlo. Controlos que são gatilhos para um painel de atualização causam uma atualização do conteúdo do painel após um postback assíncrono. Definir um controlo de gatilho assíncrono é útil nos seguintes cenários:
Para controlos que estão fora de um painel.
Para controlos que estão dentro de um painel quando a ChildrenAsTriggers propriedade é
false.Para controlos que estão dentro de painéis aninhados, para causar uma atualização dos painéis pais.
O controlo que AsyncPostBackTrigger o controlo referencia deve estar no mesmo contentor de nomenclatura do painel de atualização para o qual é um trigger. Gatilhos baseados em controlos noutros contentores de nomenclatura não são suportados.
Adicione AsyncPostBackTrigger controlos usando a caixa de diálogo UpdatePanelTrigger Collection Editor no designer ou criando um Triggers elemento declarativamente no UpdatePanel controlo. A ControlID propriedade é obrigatória, mas é EventName opcional. Se a EventName propriedade não for especificada, o DefaultEventAttribute atributo do controlo é usado para determinar o evento padrão. Por exemplo, o evento padrão do Button controlo é o Click evento. A EventName propriedade não distingue maiúsculas e maiúsculas.
Também podes referir um contentor de nomes como gatilho. Nesse caso, todos os controlos filhos no contentor que causam um regresso são considerados gatilhos para esse UpdatePanel controlo.
Programáticamente, adicionar AsyncPostBackTrigger controlos não é suportado. Para registar programaticamente um controlo de postback, use o RegisterAsyncPostBackControl método do ScriptManager controlo. Depois chama o Update método do UpdatePanel controlo quando o controlo voltar a funcionar.
Se definir um controlo usando tanto PostBackTrigger como AsyncPostBackTrigger, é lançada uma exceção.
Construtores
| Name | Description |
|---|---|
| AsyncPostBackTrigger() |
Inicializa uma nova instância de uma AsyncPostBackTrigger classe. |
Propriedades
| Name | Description |
|---|---|
| ControlID |
Recebe ou define o nome do controlo que desencadeia um postback assíncrono para um UpdatePanel controlo. |
| EventName |
Recebe ou define o evento de controlo de postback que aciona a atualização de um UpdatePanel controlo. |
| Owner |
Recebe uma referência ao UpdatePanel controlo que o UpdatePanelTrigger alvo. (Herdado de UpdatePanelTrigger) |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| FindTargetControl(Boolean) |
Procura o controlo especificado na ControlID propriedade. (Herdado de UpdatePanelControlTrigger) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| HasTriggered() |
Devolve um valor que indica se o gatilho foi invocado. |
| Initialize() |
Inicializa o AsyncPostBackTrigger controlo e determina se o evento nomeado no trigger existe e é válido. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| OnEvent(Object, EventArgs) |
Aumenta o evento que desencadeia um postback e uma atualização de um UpdatePanel controlo. |
| ToString() |
Devolve uma representação em cadeia do controlo atual AsyncPostBackTrigger . |