방법: 클라이언트 스크립트에서 단추 웹 서버 컨트롤 이벤트에 응답

Visual Studio 2010

업데이트: 2007년 11월

단추 컨트롤은 서버 이벤트와 클라이언트 이벤트를 둘 다 발생시킬 수 있습니다. 서버 이벤트는 다시 게시 이후에 발생하고, 페이지에 대해 작성하는 서버측 코드에서 처리됩니다. 클라이언트 이벤트는 클라이언트 스크립트(대개 JavaScript(ECMAScript))에서 처리되고 페이지가 제출되기 전에 발생합니다. ASP.NET 단추 컨트롤에 클라이언트측 이벤트를 추가하면 페이지를 제출하기 전에 확인 대화 상자를 표시하거나 페이지 제출을 완전히 취소하는 등의 작업을 수행할 수 있습니다.

OnClientClick 이벤트를 처리하는 클라이언트 스크립트를 단추 웹 서버 컨트롤에 추가하려면

  • 클라이언트 스크립트를 추가할 ASP.NET 단추 웹 서버 컨트롤(Button, LinkButton 또는 ImageButton 컨트롤)에서, 실행할 클라이언트 스크립트를 OnClientClick 속성에 설정합니다.

    ms227426.alert_note(ko-kr,VS.100).gif참고:

    페이지 제출을 취소할 수 있게 하려면 OnClientClick 속성을 "Return"이라는 문자열과 함수 이름으로 설정합니다. 그러면 클라이언트 스크립트에서 false를 반환하여 제출을 취소할 수 있습니다.

    다음 코드 예제에서는 Button 컨트롤에 클라이언트 스크립트 클릭 이벤트를 추가하는 방법을 보여 줍니다.

    <%@ Page Language="VB" %>
    <script runat="server">
        Sub Button1_Click(ByVal sender As Object, _
            ByVal e As System.EventArgs)
            Label1.Text = "Server click handler called."
        End Sub
    </script>
    
    <body>
      <form id="form1" runat="server">
        <asp:Button ID="Button1" Runat="server"
          OnClick="Button1_Click"
          OnClientClick="return confirm('Ready to submit.')"
          Text="Test Client Click" />
        <br />
        <asp:Label ID="Label1" Runat="server" text="" />
      </form>
    </body>
    </html>
    

    <%@ Page Language="C#" %>
    <script runat="server">
        void Button1_Click(Object sender, EventArgs e)
            Label1.Text = "Server click handler called.";
        End Sub
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <body>
      <form id="form1" runat="server">
        <asp:Button ID="Button1" Runat="server"
          OnClick="Button1_Click"
          OnClientClick="return confirm('Ready to submit.')"
          Text="Test Client Click" />
        <br />
        <asp:Label ID="Label1" Runat="server" text="" />
      </form>
    </body>
    </html>
    
표시: