Sys.WebForms.BeginRequestEventArgs 클래스

이벤트 처리기에 인수 정보를 전달하기 위해 Sys.WebForms.PageRequestManager 클래스의 beginRequest 이벤트에서 사용됩니다. beginRequest 이벤트는 포스트백 요청이 만들어지기 바로 전에 발생합니다.

네임스페이스: Sys.WebForms

상속: Sys.EventArgs

var args = new Sys.WebForms.BeginRequestEventArgs(request, postBackElement, updatePanelsToUpdate);

Name

설명

Sys.WebForms.BeginRequestEventArgs 생성자

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

Name

설명

Sys.WebForms.BeginRequestEventArgs.postBackElement 속성

비동기 포스트백을 시작한 포스트백 요소를 가져옵니다.

Sys.WebForms.BeginRequestEventArgs.request 속성

현재 포스트백을 나타내는 요청 개체를 가져옵니다.

Sys.WebForms.BeginRequestEventArgs.updatePanelsToUpdate 속성

클라이언트가 요청한 대로 콘텐츠를 다시 렌더링해야 하는 UpdatePanel 컨트롤에 대한 UniqueID 값의 목록을 가져옵니다.

참고참고

이 클래스는 클라이언트 스크립트 인프라를 지원하는 전용 멤버를 포함하고 있으며 사용자 코드에서 직접 사용할 수 없습니다. 전용 멤버 이름은 밑줄(_)로 시작합니다.

이벤트 처리기는 request 속성을 사용하여 요청 개체에 액세스하고 postBackElement 속성을 사용하여 포스트백을 발생시킨 요소를 확인할 수 있습니다.

다음 예제에서는 BeginRequestEventArgs 클래스를 사용하는 방법을 보여 줍니다. 이때 두 개의 단추로 비동기 포스트백을 수행합니다. beginRequest 이벤트 처리기에서 postBackElement 속성은 포스트백을 발생시킨 요소의 이름에 액세스하는 데 사용됩니다.



<%@ 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 ProcessClick_Handler(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(2000);
    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>PageRequestManager beginRequest Example</title>
    <style type="text/css">
    body {
        font-family: Tahoma;
    }
    div.AlertStyle
    {
      background-color: #FFC080;
      top: 95%;
      left: 1%;
      height: 20px;
      width: 270px;
      position: absolute;
      visibility: hidden;
    }
	</style>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" runat="server" />

            <script type="text/javascript" language="javascript">
                Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
                Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
                function BeginRequestHandler(sender, args)
                {
                     var elem = args.get_postBackElement();
                     ActivateAlertDiv('visible', 'AlertDiv', elem.value + ' processing...');
                }
                function EndRequestHandler(sender, args)
                {
                     ActivateAlertDiv('hidden', 'AlertDiv', '');
                }
                function ActivateAlertDiv(visstring, elem, msg)
                {
                     var adiv = $get(elem);
                     adiv.style.visibility = visstring;
                     adiv.innerHTML = msg;                     
                }
            </script>

            <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="Server">
                <ContentTemplate>
                    <asp:Panel ID="Panel1" runat="server" GroupingText="Update Panel">
                        Last update:
                        <%= DateTime.Now.ToString()%>.
                        <br />
                        <asp:Button runat="server" ID="Button1" Text="Process 1" OnClick="ProcessClick_Handler" />
                        <asp:Button runat="server" ID="Button2" Text="Process 2" OnClick="ProcessClick_Handler" />
                    </asp:Panel>
                </ContentTemplate>
            </asp:UpdatePanel>
            <div id="AlertDiv" class="AlertStyle">
            </div>
        </div>
    </form>
</body>
</html>


표시: