다음을 통해 공유


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 참조하는 컨트롤은 트리거인 업데이트 패널과 동일한 명명 컨테이너에 있어야 합니다. 다른 명명 컨테이너의 컨트롤을 기반으로 하는 트리거는 지원되지 않습니다.

디자이너에서 UpdatePanelTrigger 컬렉션 편집기 대화 상자를 사용하거나 컨트롤에 선언적으로 요소를 만들어 Triggers 컨트롤을 UpdatePanel 추가 AsyncPostBackTrigger 합니다. 속성은 ControlID 필수이지만 속성은 EventName 선택 사항입니다. EventName 속성을 지정 DefaultEventAttribute 하지 않으면 컨트롤의 특성이 기본 이벤트를 확인하는 데 사용됩니다. 예를 들어 컨트롤의 기본 이벤트는 Button 이벤트입니다 Click . 속성은 EventName 대/소문자를 구분하지 않습니다.

명명 컨테이너를 트리거로 참조할 수도 있습니다. 이 경우 포스트백을 발생시키는 컨테이너의 모든 자식 컨트롤은 컨트롤에 대한 트리거로 UpdatePanel 간주됩니다.

프로그래밍 방식으로 컨트롤을 추가하는 AsyncPostBackTrigger 것은 지원되지 않습니다. 포스트백 컨트롤을 프로그래밍 방식으로 등록하려면 컨트롤의 RegisterAsyncPostBackControl 메서드를 ScriptManager 사용합니다. 그런 다음 컨트롤이 Update 다시 게시되면 UpdatePanel 컨트롤의 메서드를 호출합니다.

둘 다 PostBackTriggerAsyncPostBackTrigger사용하여 컨트롤을 정의하면 예외가 throw됩니다.

생성자

Name Description
AsyncPostBackTrigger()

클래스의 새 인스턴스를 AsyncPostBackTrigger 초기화합니다.

속성

Name Description
ControlID

컨트롤에 대한 UpdatePanel 비동기 포스트백을 트리거하는 컨트롤의 이름을 가져오거나 설정합니다.

EventName

업데이트할 컨트롤을 트리거 UpdatePanel 하는 포스트백 컨트롤 이벤트를 가져오거나 설정합니다.

Owner

대상이 되는 컨트롤에 UpdatePanel 대한 참조를 UpdatePanelTrigger 가져옵니다.

(다음에서 상속됨 UpdatePanelTrigger)

메서드

Name Description
Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
FindTargetControl(Boolean)

속성에 지정된 컨트롤을 검색합니다 ControlID .

(다음에서 상속됨 UpdatePanelControlTrigger)
GetHashCode()

기본 해시 함수로 사용됩니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
HasTriggered()

트리거가 호출되었는지 여부를 나타내는 값을 반환합니다.

Initialize()

컨트롤을 AsyncPostBackTrigger 초기화하고 트리거에 명명된 이벤트가 존재하고 유효한지 여부를 확인합니다.

MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
OnEvent(Object, EventArgs)

컨트롤의 포스트백 및 새로 고침 UpdatePanel 을 트리거하는 이벤트를 발생합니다.

ToString()

현재 AsyncPostBackTrigger 컨트롤의 문자열 표현을 반환합니다.

적용 대상

추가 정보