次の方法で共有


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使用すると、ユーザーは Northwind データベースのテーブルでProducts検索する検索語句を入力できます。 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 コレクション エディター ダイアログ ボックスを使用するか、コントロールで宣言的に要素をTriggersUpdatePanel作成します。 プロパティは ControlID 必須ですが EventName 、 プロパティは省略可能です。 プロパティが EventName 指定されていない場合は、コントロールの 属性を DefaultEventAttribute 使用して既定のイベントが決定されます。 たとえば、コントロールの既定の Button イベントは イベントです Click 。 プロパティでは EventName 大文字と小文字が区別されません。

名前付けコンテナーをトリガーとして参照することもできます。 その場合、ポストバックを引き起こすコンテナー内のすべての子コントロールは、コントロールのトリガーと見な UpdatePanel されます。

プログラムによるコントロールの追加 AsyncPostBackTrigger はサポートされていません。 プログラムによってポストバック コントロールを登録するには、 コントロールの RegisterAsyncPostBackControl メソッドを使用します ScriptManager 。 次に、コントロールが Update ポストバックするときに、コントロールの メソッド UpdatePanel を呼び出します。

AsyncPostBackTriggerの両方PostBackTriggerを使用してコントロールを定義すると、例外がスローされます。

コンストラクター

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 コントロールの文字列形式を返します。

適用対象

こちらもご覧ください