웹 양식 컨트롤



서버 컨트롤은 서버가 이해할 수 있는 레이블입니다.


클래식 ASP의 제한 사항

아래 나열된 코드는 이전 장에서 복사되었습니다.

<html>
<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이 이해하는 많은 이벤트 중 하나입니다.

<script runat="server">
Sub Page_Load
link1.HRef="http://www.w3cschool.cc"
End Sub
</script>

<html>
<body>

<form runat="server">
<a id="link1" runat="server">W3CSchool을 방문하세요!



실행 코드 자체가 HTML 외부로 이동되었습니다.


ASP.NET - 웹 서버 컨트롤

웹 서버 컨트롤은 서버가 이해하는 특별한 ASP.NET 태그입니다.

HTML 서버 컨트롤과 마찬가지로 웹 서버 컨트롤도 서버에 생성되며, 적용하려면 runat="server" 특성도 필요합니다. 그러나 웹 서버 컨트롤은 기존 HTML 요소를 반드시 매핑할 필요는 없으며 더 복잡한 요소를 나타낼 수도 있습니다.

웹 서버 컨트롤을 생성하는 구문은 다음과 같습니다.

<asp:control_name id="some_id" runat="server" />

아래 예에서는 .aspx 파일에 버튼을 선언합니다. 서버 제어. 그런 다음 버튼의 텍스트를 변경하기 위해 Click 이벤트에 대한 이벤트 핸들러를 만듭니다.

<script runat="server">
Sub submit(Source As Object, e As EventArgs)
button1.Text="You 나를 클릭했습니다!"
End Sub
</script>

<html>
<body>

<form runat="server">
<asp:Button id="button1" Text=" 저를 클릭하세요!"
runat="server" OnClick="submit"/>
</form>

</body>
</html>


ASP.NET - 유효성 검사 서버 제어

검증 서버 제어는 사용자 입력을 검증하는 데 사용됩니다. 사용자 입력이 유효성 검사에 실패하면 오류 메시지가 사용자에게 표시됩니다.

각 유효성 검사 컨트롤은 지정된 유형의 유효성 검사(예: 지정된 값 또는 값 범위 유효성 검사)를 수행합니다.

기본적으로 Button, ImageButton 및 LinkButton 컨트롤을 클릭하면 페이지 확인이 수행됩니다. CausesValidation을 false로 설정하면 클릭 시 버튼 컨트롤의 유효성이 검사되지 않습니다.

검증 서버 컨트롤을 생성하는 구문은 다음과 같습니다.

<asp:control_name id="some_id" runat="server" />

다음 예제에서는 .aspx 파일에 TextBox 컨트롤, Button 컨트롤 및 RangeValidator 컨트롤을 선언합니다. 유효성 검사가 실패하면 "값은 1에서 100 사이여야 합니다!"라는 텍스트가 RangeValidator 컨트롤에 표시됩니다.

Instance

<html>
<body>

<form runat="server" > ;
<p>1에서 100까지의 숫자를 입력하세요.
<asp:TextBox id="tbox1" runat="server" />
<br /><br />
< asp :Button Text="Submit" runat="server" />
</p>

<p>
<asp:RangeValidator
ControlToValidate="tbox1"
MinimumValue="1"
MaximumValue=" 100 "
Type="Integer"
Text="값은 1~100이어야 합니다!"
runat="server" />
</p>
</form>

</body>
</html>