썸네일 [ASP.NET] 유효성 검사 컨트롤 유효성 검사 컨트롤은 사용자가 입력한 데이터의 유효성을 판단해주는 컨트롤이다. 사용자가 입력한 주민등록번호나 우편번호, 전자메일 주소 등의 데이터가 유효한 데이터인지를 판단할 때 사용하는 컨트롤이다. 컨트롤 설명 RequireFieldVaildator 입력 내용이 빈 문자열이 아니면 유효한 데이터로 인정한다. RangeValidator 입력 내용이 특정 범위의 수나 문자, 날짜에 포함되어 있으면 유효한 데이터로 인정한다. CompareValidator 입력 내용이 다른 입력 컨트롤에 있는 값 또는 특정 값과 비교하여 조건에 만족하면 유효한 데이터로 인정한다. RegularExpressionValidator 입력 내용이 정규 표현식에 정의된 패턴을 따르면 유효한 데이터로 인정한다. CustomValidat..
썸네일 [ASP.NET] 컨테이너형 컨트롤 컨테이너형 컨트롤 다른 서버 컨트롤이나 HTML 및 정적 문자열 등을 하나의 단위로 묶는다. 컨테이너 역할을 하는 컨트롤에는 Panel, PlaceHolder, MultiView 및 View가 있다. Panel 컨트롤 ASP.NET 페이지 내에서 정적 문자열 및 다른 컨트롤의 부모 컨트롤로 사용할 수 있다. 동적으로 생성된 서버 컨트롤을 포함할 수 있으며, BackColor 등의 스타일 관련 속성을 통해 페이지 내에서 사용자의 주의를 끌 수도 있다. 속성 설명 Visible Panel 컨트롤을 웹 페이지에 보이게 할 것인지를 지정한다. BackImageUrl Panel 컨트롤의 배경 이미지를 지정한다. HorizontalAlign Panel 내 자식 컨트롤의 맞춤 방식을 지정한다.[default : No..
썸네일 [ASP.NET] 표준 웹 컨트롤 표준 웹 컨트롤은 visual studio에서 도구 상자의 표준 탭에 있는 웹 컨트롤들로, 웹 페이지 구성에 기본이 되는 웹 컨트롤을 말한다. HTML 서버 컨트롤은 그대로 HTML 태그로 전환되는 반면, 웹 컨트롤은 사용에 따라 ASP.NET이 자동 생성하는 HTML 태그가 다를 수 있으며, 하나의 웹 컨트롤이 여러 개의 HTML 태그로 표현되기도 한다. HTML 서버 컨트롤은 이전 버전과의 호환 및 마이그레이션을 위해 사용되는 컨트롤로, ASP.NET에서는 웹 컨트롤의 사용을 권장한다. HTML 서버 컨트롤보다 웹 컨트롤의 사용을 권장하는 이유는 다음과 같다. · 간편한 UI 기능 제공 웹 컨트롤이 HTML로 어떻게 표현될 것인지에 신경 쓰지 않고 단지 하나의 객체로 다루면 된다. 예를 들어, 하나의..
[ASP.NET] HTML 서버 컨트롤 HTML 서버 컨트롤은 특별한 변환없이 표준 HTML 태그로 전환할 수 있는 서버 기반 컨트롤로, HTML 태그 속성(attribute)과 연관된 속성(properties)을 제공한다. 예를 들어, HtmlImage 클래스는 태그의 속성 align, alt, border, src, height, width에 해당하는 Align, Alt, Border, Src, Height, Width 속성을 제공한다. HTML 구문에 익숙하다면 HTML 서버 컨트롤도 쉽게 익힐 수 있을 것이다. 주요 HTML 서버 컨트롤 클래스 HtmlControl 클래스의 속성과 메서드 HTML 컨트롤의 최상위 클래스로, 모든 HTML 컨트롤이 이를 상속 받는다. 따라서 HTML 컨트롤은 HtmlControl이 제공하는 속성과 메서드..
썸네일 [ASP.NET] 서버 컨트롤 HTML 서버 컨트롤을 제외한 모든 ASP.NET 서버 컨트롤들은 aspx 페이지에서 선언하고 사용하는 방법도 같다. 웹 컨트롤 선언은 마치 HTML 태그와 같이 보인다. 그러나 웹 컨트롤은 웹 브라우저상에 있는 것이 아니라 서버에서 동작하는 하나의 .NET 클래스로 보아야 한다. aspx 페이지에서 선언한 웹 컨트롤은 웹 브라우저에서 다음과 같이 표현한다. 결과 출력 웹 컨트롤 선언에서 접두어 'asp:'는 웹 컨트롤의 네임스페이스를 가리킨다. 즉 asp:는 ASP.NET 컨트롤이 정의된 System.Web.UI.WebControls 네임스페이스를 의미한다. 접두어 asp: 다음에 사용하고자 하는 웹 컨트롤의 이름을 선언한다. 앞의 예에서는 Label 컨트롤을 선언했다. 더불어 코드상에서 웹 컨트롤을 ..
썸네일 [ASP.NET] ASP.NET 구성 파일(web.config) 웹 응용 프로그램은 오류 메시지를 나타내는 방법에서부터 원하지 않는 방문자를 막는 보안 설정에 이르기까지 환경 구성을 위한 파일을 포함하고 있다. ASP.NET의 구성 파일은 확장자 config를 갖는 XML 파일로 그 특징을 정리하면 다음과 같다. - 쓰기 개방 구성 파일은 언제든지 변경할 수 있다. 구성 설정 변경 전의 요청에 대한 처리는 이전의 구성 설정으로 처리되지만 새로운 요청에 대해서는 변경 사항을 반영하여 처리한다. - 편리한 접근과 복제 네트워크 사용에 대한 적절한 권한이 있을 경우, 외부에서도 구성 파일을 변경할 수 있다. 구성 파일을 복사하여 다른 응용 프로그램 또는 다른 앱 서버에 똑같은 설정을 적용할 수 있다. - 쉬운 편집과 뛰어난 가독성 특별한 설정 도구 없이도 읽거나 편집할 수..
썸네일 [ASP.NET] Global.asax 이 파일은 ASP.NET의 전역 애플리케이션 이벤트를 처리하는 파일이다. ASP.NET 응용 프로그램의 루트 디렉터리에 위치하며, 직접적인 URL 요청을 자동으로 거부하도록 설정되어 있다. Global.asax 파일이 있을 경우, ASP.NET은 이를 감지하고 자동으로 실행한다. 애플리케이션 이벤트 처리기 이용하기 웹 사이트에 Global.asax 파일을 추가하여 웹 사이트 내의 모든 페이지에 바닥글을 넣어보자. ① Global.asax 파일 추가하기 [솔루션 탐색기]에서 우클릭을 하고 [새 항목 추가]를 선택한다. 그 다음 웹의 전역 애플리케이션 클래스를 선택하고 [추가] 버튼을 클릭한다. ② 코드 쓰기 Global.asax 파일은 HTML이나 ASP.NET 태그가 없다는 것을 제외하면 aspx 파일과..
[ASP.NET] ASP.NET 응용 프로그램 ASP.NET 파일의 종류 파일 확장자 설명 aspx ASP.NET 웹 페이지 파일로, 사용자 인터페이스를 포함하며, 선택적으로 응용 프로그램 코드가 올 수도 있다. ascx ASP.NET 사용자 정의 컨트롤 파일이다. 사용자 정의 컨트롤은 사용자가 직접 접근할 수 없다는 것을 제외하면 웹 페이지와 비슷하다. 반복적인 코딩을 피하기 위해 사용자 정의 컨트롤로 작은 UI 조각을 개발하고, 웹 폼에서 필요한 만큼 사용할 수 있다. web.config ASP.NET 응용 프로그램을 위한 XML 기반 구성 파일이다. 개별화된 보안 설정, 상태 관리, 메모리 관리 등을 포함한다. global.asax 전역 응용 프로그램 파일이다. 전역 변수(응용 프로그램에 있는 모든 웹 페이지들이 접근 가능한 변수)의 선언과 전..
[ASP.NET] Page 클래스 이벤트 흔히 사용하는 주요 이벤트는 아니지만 웹 폼에서 페이지 Init 이벤트 후에 컨트롤의 LoadViewState라는 이벤트가 발생한다. LoadViewState 이벤트가 처리되면 뷰 상태 정보를 통해 서버 컨트롤의 속성 값들이 로드된다. 컨트롤에 설정된 속성 값으로 작업하려면 Load나 PreRender 이벤트 처리기를 이용해야 한다. 모든 이벤트 처리기는 2개의 매개변수, 즉 object sender와 EventArgs e를 전달한다. protected void Page_Load(object sender, EventArgs e) { } 하나는 이벤트가 발생한 개체를 나타내는 객체(sender)이며, 다른 하나는 이벤트 관련 정보를 갖고 있는 객체(e)다.
[ASP.NET] Server 객체 Server 객체는 클래스 HttpServerUtility의 인스턴스로, 웹 응용 프로그램 개발에 필요한 다양한 유틸리티 기능을 모아놓은 객체이다. Server 객체의 주요 속성과 메서드는 다음의 표와 같다. 멤버 설명 ScriptTimeout 요청에 대한 제한 시간 값(초)을 설정 CreateObject() 서버 컨트롤 객체 생성 Execute() 요청된 페이지의 실행을 중단하고 새로운 웹 폼을 수행, 새 웹 폼의 수행이 끝나면 다시 Execute문 다음부터 계속 수행 HtmlEncode() HTML 문서 형식으로 인코딩 UrlEncode() URL 형식으로 인코딩 Transfer() Execute문과 같은 기능을 수행하지만 새로운 웹 폼이 종료되면 실행 종료 HTML 인코딩 HTML에는 특별한 의미를..
[ASP.NET] Redirection BMI 산출기 페이지에서는 모든 것이 한 페이지에서 이루어졌다. 대부분의 사용자는 다른 작업을 수행하거나 하나의 작업을 마무라하기 위해 다른 페이지로 이동하게 된다. 사용자를 다른 페이지로 이동시키는 것을 바로 '리다이렉션(redirection)'이라고 한다. 사용자를 다른 페이지로 이동시키는데는 여러 가지 방법이 있지만, 가장 쉬운 방법은 태그를 이용하는 것이다. 다른 페이지로 이동 이 밖에 코드 내에서 리다이렉션하는 방법도 있다. 사용자를 다른 곳으로 보내기 전에 해야하는 작업이 있다거나 어디로 이동시켜야 할 것인지를 결정하는 코드를 작성할 떄 유용하다. 이때 Response 객체의 Redirect 메서드를 이용하여 코드 내에서 다른 페이지로 이동시키는 방법은 다음과 같다. Response.Redir..
썸네일 [ASP.NET] Request 객체와 Response 객체 Reqeust 객체 사용자가 웹 브라우저를 통해 웹 서버에 페이지를 요구할 때, 웹 브라우저는 웹 페이지를 실행하는데 필요한 모든 정보를 제공한다. 서버는 이들 정보를 Request 객체를 통해 얻는다. 아래의 표는 Request 객체의 주요 속성들을 정리한 것이다. 속성 설명 PhysicalApplicationPath 사용자가 요구한 페이지의 물리적 경로 ApplicationPath 물리적 디렉터리에 대응하는 가상 디렉터리 Path 사용자가 요구한 페이지까지 포함하는 가상 경로 Url 사용자가 요구한 전체 URL UserHostAddress 사용자의 IP 주소 Browser 사용자가 사용 중인 웹 브라우저에 대한 정보를 담고 있는 객체 Cookies 컬렉션 객체로 사용자가 보낸 쿠키 정보를 저장 Que..