폼
업데이트: 2007년 11월
HTML 폼은 웹 페이지의 일부로서, 콘텐츠, 태그, 컨트롤(확인란, 라디오 단추, 메뉴 등) 및 이러한 컨트롤의 레이블을 포함합니다. ASP.NET 모바일 웹 페이지의 경우, 폼은 다양한 장치에 사용할 수 있도록 Microsoft ASP.NET 기술을 확장합니다. 기본 기능 목록은 ASP.NET 웹 페이지 개요를 참조하십시오.
ASP.NET 모바일 웹 페이지의 폼은 페이지 개체의 브라우저 기능과 해당 페이지를 렌더링하는 코드 간에 인터페이스를 제공합니다. 폼은 페이지 논리를 재사용 가능한 구성 요소로 캡슐화하는 컨트롤의 컨테이너입니다. 또한 폼을 통해 페이지의 코드와 콘텐츠를 구분할 수 있습니다.
폼 활성화
모든 ASP.NET 모바일 웹 페이지에는 하나의 활성 폼이 있습니다. 폼은 다음과 같은 방법으로 활성화됩니다.
페이지에 처음으로 액세스하면 페이지의 첫 번째 폼이 활성화되고 Activate 이벤트가 발생합니다.
모바일 웹 페이지의 ActiveForm 속성을 설정하면 다른 폼이 활성화됩니다.
다른 폼에 연결하는 Link 컨트롤을 사용하면 사용자가 링크를 클릭할 때 해당 폼이 활성화됩니다.
두 번째와 세 번째 동작은 이전에 활성화된 폼의 Deactivate 이벤트를 발생시킨 다음 현재 폼의 Activate 이벤트를 발생시킵니다.
사용자가 현재 페이지에서 이동한 시점을 정확하게 측정할 수 있는 방법은 없으므로 마지막으로 방문한 폼은 비활성화되지 않으며 해당 폼의 Deactivate 이벤트도 발생하지 않습니다.
폼의 콘텐츠 구성
각 폼에는 컨트롤을 개수에 제한 없이 추가할 수 있습니다. 그러나 사용 효율성 면에서 볼 때 폼에 추가하는 컨트롤 수를 최소화하는 것이 좋습니다.
ASP.NET에서는 이러한 컨트롤을 해당 대상 장치에 적절하게 여러 개의 단위(예: 화면)로 구성합니다. Form 컨트롤은 페이지 내에서 이동할 수 있는 별도로 주소 지정 가능한 컨트롤 집합을 나타냅니다. 예를 들어, 페이지에 직원의 개인 정보가 포함된 폼과 경력 기록이 포함된 폼이 있는 경우 해당 폼에 액세스하여 개인 정보를 참조할 수 있습니다.
참고: |
---|
다른 페이지에 있는 임의의 폼으로 이동하거나 외부 URL을 통해 이동할 수 없습니다. 즉, 외부 URL로는 페이지 내의 지정된 폼으로 이동할 수 없습니다. 페이지를 찾으면 해당 페이지의 첫 번째 폼이 자동으로 활성화됩니다. 다른 폼으로 이동하려면 해당 페이지의 ActiveForm 속성을 설정해야 합니다. |
새 폼을 만들지 아니면 기존 폼에 컨트롤을 추가할지 선택할 때는 원하는 기능을 기준으로 결정합니다. 주소 지정이 가능한 별도의 컨트롤 집합이 필요하면 새 폼을 만들어야 합니다. 이렇게 하면 특히 사용자가 응용 프로그램의 다른 부분으로 이동할 때 편리합니다. 그 외의 경우에는 기존의 폼에 컨트롤을 추가하여 사용할 수 있습니다. 개별 Form 컨트롤은 별도의 상호 작용 단위로 간주되므로 ASP.NET에서는 화면에 빈 공간이 있더라도 여러 폼을 함께 표시하지 않습니다.
페이지 만들기와 폼 만들기
페이지의 인스턴스를 만들면 현재 활성 폼에 상관없이 해당 페이지에 속한 모든 폼의 인스턴스가 만들어집니다. 따라서 페이지의 오버헤드는 페이지에 있는 폼 수에 따라 달라집니다.
페이지를 사용하면 여러 요청 간에 뷰 상태를 관리할 수 있습니다. 페이지에 있는 모든 폼의 인스턴스가 만들어지므로 페이지에서 폼의 모든 컨트롤을 찾을 수 있습니다. 이와 달리 페이지 간의 상태 관리는 이보다 제한적이며 추가 기능을 제공하려면 사용자 지정 코드를 작성해야 합니다.
외부 페이지에서는 페이지의 첫 번째 폼 주소만 찾을 수 있습니다. 반면 각 페이지에는 고유한 URL이 있습니다. 따라서 응용 프로그램에서 서로 밀접하게 관련된 폼일수록 같은 페이지 안에 포함시키는 것이 좋습니다. 또한 자주 사용되지 않는 폼은 별도의 페이지에 배치하는 것이 좋습니다.