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. コントロールButtonUpdatePanel外部にあるコントロールを使用すると、ユーザーは検索Products用語を入力して Northwind データベースのテーブルを検索できます。A Button control that is outside an UpdatePanel control lets users enter a search term to find in the Products table of the Northwind database. コントロール内のコントロールにGridView結果が表示されます。 UpdatePanelA 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を追加するには、デザイナーの [updateパネルトリガーコレクションエディター] ダイアログボックスを使用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.

PostBackTriggerAsyncPostBackTriggerの両方を使用してコントロールを定義すると、例外がスローされます。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.

適用対象

こちらもご覧ください