ASP.NET 서버 컨트롤 개요
이 문서에서는 HTML 서버 컨트롤, 웹 서버 컨트롤, 목록 컨트롤 등과 같은 ASP.NET 서버 컨트롤을 소개합니다.
원래 제품 버전: ASP.NET
원래 KB 번호: 306459
이 문서에서는 다음 Microsoft .NET Framework 클래스 라이브러리 네임스페이스를 참조합니다.
System.Web.UI.HtmlControls.HtmlControl
System.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=server
HTML 서버 컨트롤이 어셈블리로 컴파일됩니다. - 대부분의 컨트롤에는 컨트롤에 가장 일반적으로 사용되는 이벤트에 대한 가 포함됩니다
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 서버 컨트롤에 대한 자세한 내용은 다음 웹 사이트를 참조하세요.
웹 서버 컨트롤
웹 컨트롤에는 표준화된 속성 이름 집합이 있다는 점을 제외하고 웹 컨트롤은 Button, TextBox 및 Hyperlink와 같은 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>
출력은 다음과 같이 표시됩니다.
- 없음
- 두
- 3개
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 사용자 지정 컨트롤을 만들 수 있습니다. 다음 시나리오 중 하나에 직면하는 경우 사용자 지정 컨트롤을 개발하는 것이 유용할 수 있습니다.
- 두 개 이상의 기본 제공 웹 컨트롤의 기능을 결합해야 합니다.
- 기본 제공 컨트롤의 기능을 확장해야 합니다.
- 현재 존재하는 컨트롤과 다른 컨트롤이 필요합니다.
사용자 지정 컨트롤 개발에 대한 자세한 내용은 다음 topics 참조하세요.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기