웹 양식 컨트롤
서버 컨트롤은 서버가 이해할 수 있는 레이블입니다.
클래식 ASP의 제한 사항
아래 나열된 코드는 이전 장에서 복사되었습니다.
<body bgcolor="yellow">
<center>
<Hello W3CSchool .cc!</h2>
<p><%Response.Write(now())%></p>
</center>
</body>
</ html>
위 코드는 기존 ASP의 제한 사항을 반영합니다. 즉, 출력을 표시하려는 위치에 코드 블록을 배치해야 합니다.
클래식 ASP에서는 HTML 페이지에서 실행 코드를 분리하는 것이 불가능합니다. 이로 인해 페이지를 읽기도 어렵고 유지 관리도 어려워집니다.
ASP.NET - 서버 컨트롤
ASP.NET은 위에서 언급한 "스파게티 코드" 문제를 서버 컨트롤을 통해 해결했습니다.
서버 컨트롤은 서버가 이해할 수 있는 레이블입니다.
서버 컨트롤에는 세 가지 유형이 있습니다.
- HTML 서버 컨트롤 - 생성된 HTML 태그
- 웹 서버 컨트롤 - 새로운 ASP.NET 태그
- Validation 서버 컨트롤 - 입력 유효성 검사용
ASP.NET - HTML 서버 Controls
HTML 서버 컨트롤은 서버가 이해하는 HTML 태그입니다.
ASP.NET 파일의 HTML 요소는 기본적으로 텍스트로 처리됩니다. 이러한 요소를 프로그래밍 가능하게 만들려면 HTML 요소에 runat="server" 특성을 추가하세요. 이 속성은 요소가 서버 컨트롤로 처리됨을 나타냅니다. 동시에 서버 컨트롤을 식별하려면 id 속성을 추가해야 합니다. ID는 런타임을 조작하는 데 사용할 수 있는 서버 컨트롤을 참조합니다.
참고: 모든 HTML 서버 컨트롤은 runat="server" 속성이 있는 <form> 태그 내에 있어야 합니다. runat="server" 속성은 양식이 서버에서 처리되어야 함을 나타냅니다. 또한 그 안에 포함된 컨트롤이 서버 스크립트에 의해 액세스될 수 있음을 나타냅니다.
아래 예에서는 .aspx 파일에 HtmlAnchor 서버 컨트롤을 선언합니다. 그런 다음 이벤트 처리기에서 HtmlAnchor 컨트롤의 HRef 속성을 조작합니다(이벤트 처리기는 지정된 이벤트에 대한 코드를 실행하는 서브루틴입니다). Page_Load 이벤트는 ASP.NET이 이해하는 많은 이벤트 중 하나입니다.
Sub Page_Load
link1.HRef="http://www.w3cschool.cc"
End Sub
</script>
<html>
<body>
<form runat="server">
<a id="link1" runat="server">W3CSchool을 방문하세요!