이 문서에서는 HTML 서버 컨트롤, 웹 서버 컨트롤, 목록 컨트롤 등과 같은 ASP.NET 서버 컨트롤을 소개합니다.
원래 제품 버전: ASP.NET
원래 KB 번호: 306459
이 문서에서는 다음 Microsoft .NET Framework 클래스 라이브러리 네임스페이스를 참조합니다.
System.Web.UI.HtmlControls.HtmlControlSystem.Web.UI.WebControls.WebControl
ASP.NET 페이지 프레임워크의 서버 컨트롤
ASP.NET 페이지 프레임워크에는 웹에 보다 구조화된 프로그래밍 모델을 제공하도록 설계된 여러 기본 제공 서버 컨트롤이 포함되어 있습니다. 이러한 컨트롤은 다음과 같은 기능을 제공합니다.
- 자동 상태 관리.
- 개체를 사용하지 않고도 개체 값에 간단하게
Request액세스할 수 있습니다. - 서버 쪽 코드의 이벤트에 대응하여 더 나은 구조의 애플리케이션을 만드는 기능.
- 웹 페이지에 대한 사용자 인터페이스를 빌드하는 일반적인 방법입니다.
- 출력은 브라우저의 기능에 따라 자동으로 사용자 지정됩니다.
기본 제공 컨트롤 외에도 ASP.NET 페이지 프레임워크는 사용자 정의 컨트롤 및 사용자 지정 컨트롤을 만드는 기능도 제공합니다. 사용자 정의 컨트롤 및 사용자 지정 컨트롤은 기존 컨트롤을 향상시키고 확장하여 훨씬 더 풍부한 사용자 인터페이스를 빌드할 수 있습니다.
HTML 서버 컨트롤
HTML 서버 컨트롤은 특성을 포함하는 HTML 요소입니다 runat=server . HTML 서버 컨트롤에는 HTML 출력과 해당 HTML 태그와 동일한 속성이 있습니다. 또한 HTML 서버 컨트롤은 자동 상태 관리 및 서버 쪽 이벤트를 제공합니다. HTML 서버 컨트롤은 다음과 같은 이점을 제공합니다.
- HTML 서버 컨트롤은 해당 HTML 태그를 사용하여 일대일로 매핑됩니다.
- ASP.NET 애플리케이션이 컴파일되면 특성이 있는
runat=serverHTML 서버 컨트롤이 어셈블리로 컴파일됩니다. - 대부분의 컨트롤에는 컨트롤에 가장 일반적으로 사용되는 이벤트에 대한 이벤트가 포함
OnServerEvent됩니다. 예를 들어 컨트롤에는<input type=button>이벤트가 있습니다OnServerClick. - 특정 HTML 서버 컨트롤로 구현되지 않은 HTML 태그는 서버 쪽에서 계속 사용할 수 있습니다. 그러나 어셈블리에 로
HtmlGenericControl추가됩니다. - ASP.NET 페이지가 다시 게시되면 HTML 서버 컨트롤은 해당 값을 유지합니다.
기본 클래스에는 System.Web.UI.HtmlControls.HtmlControl 모든 공통 속성이 포함됩니다. HTML 서버 컨트롤은 이 클래스에서 파생됩니다.
HTML 서버 컨트롤을 사용하려면 다음 구문(컨트롤을 HtmlInputText 예제로 사용)을 사용합니다.
<input type="text" value="hello world" runat=server />
ASP.NET 사용할 수 있는 개별 HTML 서버 컨트롤에 대한 자세한 내용은 다음 웹 사이트를 참조하세요.
웹 서버 컨트롤
웹 컨트롤에는 표준화된 속성 이름 집합이 있다는 점을 제외하고 단추, TextBox 및 하이퍼링크와 같은 HTML 서버 컨트롤과 유사합니다. 웹 서버 컨트롤은 다음과 같은 이점을 제공합니다.
- 제조업체와 개발자가 사용자 인터페이스를 자동으로 생성하는 도구 또는 애플리케이션을 더 쉽게 빌드할 수 있도록 합니다.
- HTML 컨트롤의 작동 방식에 대한 지식이 덜 필요하고 이를 사용하는 작업을 오류에 덜 취약하게 만드는 대화형 웹 양식을 만드는 프로세스를 간소화합니다.
기본 클래스에는 System.Web.UI.WebControls.WebControl 모든 공통 속성이 포함됩니다. 대부분의 웹 서버 컨트롤은 이 클래스에서 파생됩니다.
웹 서버 컨트롤을 사용하려면 다음 구문(TextBox 컨트롤을 예제로 사용)을 사용합니다.
<asp:textbox text="hello world" runat=server />
웹 서버 컨트롤은 다음 네 가지 범주로 나눌 수 있습니다.
- 기본 웹 컨트롤
- 유효성 검사 컨트롤
- 목록 컨트롤
- 서식 있는 컨트롤
기본 웹 컨트롤
기본 웹 컨트롤은 HTML 서버 컨트롤과 동일한 기능을 제공합니다. 그러나 기본 웹 컨트롤에는 프로그래밍할 수 있는 추가 메서드, 이벤트 및 속성이 포함됩니다.
ASP.NET 사용할 수 있는 개별 웹 컨트롤에 대한 자세한 내용은 다음 웹 사이트를 참조하세요.
유효성 검사 컨트롤
유효성 검사 컨트롤은 페이지의 다른 컨트롤에 입력된 값의 유효성을 검사하는 데 사용됩니다. 유효성 검사 컨트롤은 페이지가 표시되는 브라우저의 기능에 따라 클라이언트 쪽 유효성 검사, 서버 쪽 유효성 검사 또는 둘 다를 수행합니다. 유효성 검사 컨트롤은 다음과 같은 이점을 제공합니다.
- 하나 이상의 유효성 검사 컨트롤을 유효성을 검사하려는 각 컨트롤과 연결할 수 있습니다.
- 페이지 양식이 제출될 때 유효성 검사가 수행됩니다.
- 유효성 검사가 수행되어야 하는지 여부를 프로그래밍 방식으로 지정할 수 있습니다. 이는 사용자가 모든 필드에 유효한 데이터를 채우지 않고도 종료할 수 있도록 취소 단추를 제공하려는 경우에 유용합니다.
- 유효성 검사 컨트롤은 클라이언트 쪽 또는 서버 쪽에서 유효성 검사를 수행해야 하는지 여부를 자동으로 검색합니다.
참고 항목
클라이언트 쪽 유효성 검사는 포스트백 작업이 완료되기 전에 오류를 catch합니다. 따라서 단일 페이지에 클라이언트 쪽 및 서버 쪽 유효성 검사 컨트롤의 조합이 있는 경우 클라이언트 쪽 유효성 검사에 실패할 경우 서버 쪽 유효성 검사가 선점됩니다. ASP.NET 사용할 수 있는 개별 유효성 검사 컨트롤에 대한 자세한 내용은 다음 웹 사이트를 참조하세요.
컨트롤 나열
목록 컨트롤은 컬렉션에 대한 바인딩을 지원하는 특수 웹 서버 컨트롤입니다. 목록 컨트롤을 사용하여 사용자 지정된 템플릿 형식으로 데이터 행을 표시할 수 있습니다. 모든 목록 컨트롤은 컬렉션에 바인딩하는 데 사용되는 DataSource 및 DataMember 속성을 노출합니다.
목록 컨트롤은 IEnumerable, ICollection 또는 IListSource 인터페이스를 지원하는 컬렉션에만 바인딩할 수 있습니다. 예를 들어 Visual C# .NET 샘플 페이지는 다음과 같이 표시됩니다.
<%@ Page Language="C#" %>
<script runat="server">
Public void Page_Load()
{
String[] myStringArray = new String[] {"one","two","three"};
rptr.DataSource = myStringArray;
rptr.DataBind();
}
</script>
<html>
<body>
<asp:repeater id=rptr runat="server">
<itemtemplate><%# Container.DataItem %><br></itemtemplate>
</asp:repeater>
</body>
</html>
Visual Basic .NET 샘플 페이지는 다음과 같이 표시됩니다.
<%@ Page Language="vb" %>
<script runat="server">
public sub Page_Load()
Dim myStringArray as String()
myStringArray = new String() {"one","two","three"}
rptr.DataSource = myStringArray
rptr.DataBind()
end sub
</script>
<html>
<body>
<asp:repeater id=rptr runat="server">
<itemtemplate><%# Container.DataItem %><br></itemtemplate>
</asp:repeater>
</body>
</html>
출력은 다음과 같이 나타납니다.
- 1
- two
- three
ASP.NET 사용할 수 있는 개별 목록 컨트롤에 대한 자세한 내용은 다음 웹 사이트를 참조하세요.
다양한 컨트롤
앞의 컨트롤 외에도 ASP.NET 페이지 프레임워크는 다양한 컨트롤이라고 하는 몇 가지 작업별 컨트롤을 제공합니다. 리치 컨트롤은 여러 HTML 요소로 빌드되며 다양한 기능을 포함합니다. 다양한 컨트롤의 예로는 Calendar 컨트롤과 AdRotator 컨트롤이 있습니다.
ASP.NET 사용할 수 있는 개별 서식 있는 컨트롤에 대한 자세한 내용은 다음 웹 사이트를 참조하세요.
사용자 정의 컨트롤
추가 코드를 작성하지 않고도 웹 양식의 사용자 인터페이스를 다시 사용하는 것이 좋습니다. ASP.NET Web Forms를 사용자 컨트롤로 변환하여 이 작업을 수행할 수 있습니다. .ascx 파일 확장명이 있는 사용자 컨트롤은 단일 웹 양식 내에서 여러 번 사용할 수 있습니다.
웹 양식을 사용자 정의 컨트롤로 변환하려면 다음 단계를 수행합니다.
- 모든
<html>,<head>,<body>및<form>태그를 제거합니다. - 지시문이
@ Page페이지에 나타나면 다음으로@ Control변경합니다. - 사용자 컨트롤을
className인스턴스화할 때 강력한 형식으로 입력되도록 지시문에 특성을@ Control포함합니다. - 컨트롤에 설명 파일 이름을 지정하고 파일 확장명을 .aspx .ascx로 변경합니다.
사용자 컨트롤에 대한 자세한 내용은 Web Forms 사용자 컨트롤을 참조 하세요.
사용자 지정 컨트롤
기본 제공 웹 컨트롤 외에도 ASP.NET 사용자 지정 컨트롤을 만들 수 있습니다. 다음 시나리오 중 하나에 직면하는 경우 사용자 지정 컨트롤을 개발하는 것이 유용할 수 있습니다.
- 두 개 이상의 기본 제공 웹 컨트롤의 기능을 결합해야 합니다.
- 기본 제공 컨트롤의 기능을 확장해야 합니다.
- 현재 존재하는 컨트롤과 다른 컨트롤이 필요합니다.
사용자 지정 컨트롤 개발에 대한 자세한 내용은 다음 항목을 참조하세요.