방법: Web Forms 응용 프로그램에서 이벤트 사용
업데이트: 2007년 11월
Web Forms 응용 프로그램의 주된 활용 방식은 웹 페이지에 컨트롤을 채운 다음 사용자가 클릭하는 컨트롤에 따라 특정 작업을 수행하는 것입니다. 예를 들어, System.Web.UI.WebControls.Button 컨트롤은 사용자가 웹 페이지에서 해당 컨트롤을 클릭하면 이벤트를 발생시킵니다. 응용 프로그램은 이 이벤트를 처리하여 단추 클릭에 해당하는 적절한 응용 프로그램 논리를 수행할 수 있습니다.
Web Forms 프로그래밍 모델에 대한 내용은 Web Forms 프로그래밍을 참조하십시오.
웹 페이지에서 단추 클릭 이벤트를 처리하려면
Button 컨트롤이 있는 Web Forms 페이지(ASP.NET 페이지)를 만듭니다.
<asp:Button id = "Button" Text = "Click Me" runat = server/>
Click 이벤트 대리자 시그니처와 일치하는 이벤트 처리기를 정의합니다. Click 이벤트는 대리자 형식에 EventHandler 클래스를 사용하고 이벤트 데이터에는 EventArgs 클래스를 사용합니다.
void Button_Click(object sender, EventArgs e) {...}
Sub Button_Click(sender As Object, e As EventArgs) ... End Sub
Button 요소의 OnClick 특성을 이벤트 처리기 메서드로 설정합니다.
<asp:Button id = "Button" OnClick = "Button_Click" Text = "Click Me" runat = server/>
참고: Web Forms 응용 프로그램 개발자는 대리자를 직접 사용하지 않고 위와 같이 이벤트를 선언적으로 연결할 수 있습니다. ASP.NET 페이지 프레임워크에서는 Button_Click을 참조하는 EventHandler 인스턴스를 만드는 코드를 생성하여 이 대리자 인스턴스를 Button 인스턴스의 Click 이벤트에 추가합니다.
예제
다음 Web Forms 페이지에서는 Button의 Click 이벤트를 처리하여 TextBox의 배경색을 변경합니다. 이 예제에서 굵게 표시된 요소는 이벤트 처리기 코드와 이 이벤트 처리기가 Button의 Click 이벤트에 어떻게 연결되는지를 보여 줍니다.
보안 정보: |
---|
이 예제에는 사용자 입력을 허용하는 텍스트 상자가 있으므로 보안상 위험할 수 있습니다. 기본적으로 ASP.NET 페이지에서는 사용자 입력 내용에 스크립트나 HTML 요소가 포함되어 있지 않은지 유효성을 검사합니다. 자세한 내용은 스크립트 악용 개요를 참조하십시오. |
[C#]
<html>
<script language="C#" runat=server>
private void Button_Click(object sender, EventArgs e){ Box.BackColor = System.Drawing.Color.LightGreen; }
</script>
<body>
<form method="POST" action="Events.aspx" runat=server>
Click the button, and notice the color of the text box.<br><br>
<asp:TextBox
id = "Box" Text = "Hello" BackColor = "Cyan" runat=server/>
<br><br>
<asp:Button
id = "Button" OnClick = "Button_Click" Text = "Click Me"
runat = server/>
</form>
</body>
</html>
<html>
<script language="VB" runat=server>
Private Sub Button_Click(sender As Object, e As EventArgs) Box.BackColor = System.Drawing.Color.LightGreen
End Sub
</script>
<body>
<form method="POST" action="Events.aspx" runat=server>
Click the button, and notice the color of the text box.<br><br>
<asp:TextBox
id = "Box" Text = "Hello" BackColor = "Cyan" runat=server/>
<br><br>
<asp:Button
id = "Button" OnClick = "Button_Click" Text = "Click Me"
runat = server/>
</form>
</body>
</html>
코드 컴파일
확장명이 .aspx(파일이 ASP.NET 페이지임을 나타내는 확장명임)인 파일에 예제 페이지를 저장한 후 파일을 IIS 가상 루트 디렉터리의 원하는 위치에 배포하면 Web Forms에서 이벤트 처리가 어떻게 수행되는지 볼 수 있습니다.