Sys.Application 클래스
업데이트: 2007년 11월
클라이언트 이벤트를 노출하는 런타임 개체를 제공하고 응용 프로그램에 등록되어 있는 클라이언트 구성 요소를 관리합니다. 클라이언트 응용 프로그램이 초기화된 후에는 이 개체의 멤버를 전역으로 사용할 수 있습니다. 이러한 멤버는 클래스의 인스턴스를 만들지 않고 호출할 수 있습니다.
네임스페이스: Sys
상속: Sys.Component, Sys.IContainer
Sys.Application.addComponent(componentVar);
생성자
이름 |
설명 |
---|---|
Sys.Application 클래스의 새 인스턴스를 초기화합니다. |
멤버
이름 |
설명 |
---|---|
모든 스크립트가 로드된 후 개체가 만들어지기 전에 발생합니다. |
|
모든 스크립트가 로드되고 응용 프로그램의 개체가 만들어져 초기화된 후에 발생합니다. |
|
사용자가 브라우저의 뒤로 또는 앞으로 단추를 클릭하면 발생합니다. |
|
클라이언트 응용 프로그램의 모든 개체가 삭제되기 전에 발생합니다. |
|
구성 요소를 응용 프로그램에 등록하고 아직 초기화되지 않은 경우 초기화합니다. |
|
기록 지점을 만들어 브라우저의 기록 스택에 추가합니다. |
|
구성 요소 작성을 시작하도록 응용 프로그램에 지시합니다. |
|
응용 프로그램의 구성 요소 속성 설정 프로세스가 시작되었음을 나타내기 위해 Sys.Application.beginUpdate 메서드에서 호출됩니다. |
|
클라이언트 응용 프로그램에서 보유하고 있는 리소스와 종속성을 해제합니다. |
|
구성 요소 작성을 종료하도록 응용 프로그램에 지시합니다. |
|
응용 프로그램 업데이트 프로세스가 완료되었음을 나타내기 위해 Sys.Application.endCreateComponents 메서드에서 호출됩니다. |
|
지정된 Sys.Component 개체를 반환합니다. |
|
findComponent 메서드에 대한 바로 가기를 제공합니다. |
|
addComponent 메서드를 사용하여 응용 프로그램에 등록된 모든 구성 요소의 배열을 반환합니다. |
|
응용 프로그램을 초기화하고 load 이벤트를 발생시킵니다. |
|
참조되는 스크립트에서 호출되어 해당 스크립트가 로드되었음을 나타냅니다. |
|
큐에 대기 중인 순서대로 로드할 스크립트를 순차적으로 큐에 대기시킵니다. |
|
load 이벤트를 발생시킵니다. |
|
Sys.INotifyPropertyChange.propertyChanged 이벤트를 발생시킵니다. |
|
삭제해야 할 개체를 응용 프로그램에 등록합니다. |
|
응용 프로그램에서 개체를 제거하고, 해당 개체가 삭제 가능한 개체로 등록된 경우 개체를 삭제합니다. |
|
응용 프로그램에서 삭제 가능한 개체의 등록을 취소합니다. |
|
추가 논리에 대한 자리 표시자로 사용하기 위해 Sys.Application.endUpdate 메서드에서 호출됩니다. |
|
웹 응용 프로그램에서 기록 지점 관리를 지원하는지 여부를 나타내는 값을 가져오거나 설정합니다. |
|
응용 프로그램에서 구성 요소 만들기 작업이 진행 중인지 여부를 나타내는 값을 가져옵니다. |
설명
Application 개체는 클라이언트 구성 요소 개발을 지원하는 함수 및 이벤트를 제공합니다. Application 개체는 전용 Sys._Application 클래스의 단일 인스턴스입니다. ASP.NET AJAX 페이지가 브라우저에 표시되면 Application 개체가 만들어지고 페이지의 수명 동안 유지됩니다. Application 개체는 pageInit, pageLoad 및 pageUnload와 같은 클라이언트 페이지 수명 주기 이벤트를 발생시키고 등록된 구성 요소의 삭제를 관리합니다.
이벤트
Application 개체는 init, load 및 unload 이벤트를 제공하고 기본 Component 클래스에서 disposing 및 propertyChanged 이벤트를 상속합니다. 이러한 모든 이벤트는 브라우저에서 클라이언트 응용 프로그램의 수명 주기에 적용됩니다.
부분 페이지 렌더링이 지원되는 경우 페이지에 UpdatePanel 컨트롤이 포함되어 있으면 PageRequestManager 클래스는 페이지에서 비동기적으로 렌더링되는 부분에 적용할 추가 이벤트를 제공합니다. 부분 페이지 렌더링에 대한 자세한 내용은 부분 페이지 렌더링 개요를 참조하십시오.
개별 구성 요소는 해당 구성 요소에만 적용되는 이벤트를 노출할 수 있습니다. 또한 Application 개체를 사용하여 응용 프로그램 수준 이벤트에 액세스할 수도 있습니다.
대부분의 경우 페이지 개발자는 load 이벤트에 코드를 추가해야 합니다. 페이지 수명 주기 중에서 이 단계가 되면 모든 스크립트가 로드되고 모든 구성 요소가 만들어져 사용할 수 있게 됩니다. pageLoad 함수에 포함되어 있는 모든 코드는 페이지가 로드되면 자동으로 실행됩니다.
구성 요소 개발자는 이벤트의 add_ 접근자 메서드를 호출하고 처리기 함수를 전달하여 load 또는 unload 이벤트에 다른 처리기를 바인딩하거나 다른 이벤트에 액세스할 수 있습니다. 다음 예제에서는 unload 이벤트에 myUnloadHandler 함수를 바인딩하는 방법을 보여 줍니다.
Sys.Application.add_unload(myUnloadHandler)
이벤트와 해당 이벤트 처리기가 더 이상 필요하지 않으면 다음 예제와 같이 remove_ 접근자 메서드를 호출할 수 있습니다.
Sys.Application.remove_unload(myUnloadHandler);
각 처리기에 대해 add_ 접근자를 한 번씩 호출하여 다른 처리기를 이벤트에 연결할 수 있습니다. 처리기는 remove_ 접근자 메서드를 호출하여 개별적으로 제거됩니다.
Sys.Application 이벤트에 대한 자세한 내용은 AJAX 클라이언트 수명 주기 이벤트를 참조하십시오.
구성 요소 추가
대부분의 경우 $create 명령을 사용하여 응용 프로그램에 구성 요소를 추가해야 합니다. 구성 요소가 응용 프로그램에 등록된 후에는 findComponent 메서드 또는 $find 바로 가기를 호출하여 응용 프로그램에서 해당 구성 요소에 액세스할 수 있습니다. getComponents 메서드를 호출하면 사용 가능한 모든 구성 요소의 목록을 가져올 수 있습니다.
구성 요소, 컨트롤 및 동작을 개발하는 방법에 대한 자세한 내용은 ASP.NET 컨트롤에 AJAX 기능 추가를 참조하십시오.
스크립트 파일 참조
부분 페이지 렌더링에 사용할 독립 실행형 스크립트 파일(.js)을 참조하는 경우 해당 스크립트 파일의 코드에서 notifyScriptLoaded 메서드를 호출해야 합니다. 이 메서드는 스크립트가 로드되었음을 응용 프로그램에 알립니다. 자세한 내용은 Sys.Application.notifyScriptLoaded 메서드를 참조하십시오.