다음을 통해 공유


ScriptManager 컨트롤 개요

업데이트: 2007년 11월

ScriptManager 컨트롤은 AJAX 사용 ASP.NET 웹 페이지에 대한 클라이언트 스크립트를 관리합니다. 기본적으로 ScriptManager 컨트롤은 페이지에 Microsoft AJAX 라이브러리에 대한 스크립트를 등록합니다. 이를 통해 클라이언트 스크립트가 형식 시스템 확장을 사용하고 부분 페이지 렌더링 및 웹 서비스 호출과 같은 기능을 지원하도록 할 수 있습니다.

이 항목에는 다음과 같은 단원이 포함되어 있습니다.

  • 시나리오

  • 배경

  • 코드 예제

  • 클래스 참조

시나리오

ASP.NET의 다음 AJAX 기능을 사용하려면 페이지에서 ScriptManager 컨트롤을 사용해야 합니다.

  • Microsoft AJAX 라이브러리의 클라이언트 스크립트 기능 및 브라우저에 보낼 모든 사용자 지정 스크립트. 자세한 내용은 Microsoft AJAX 라이브러리를 사용하여 사용자 지정 클라이언트 스크립트 만들기를 참조하십시오.

  • 포스트백을 사용하지 않고 페이지 영역을 개별적으로 새로 고칠 수 있는 부분 페이지 렌더링. 부분 페이지 렌더링을 지원하려면 ASP.NET UpdatePanel, UpdateProgressTimer 컨트롤에 ScriptManager 컨트롤이 필요합니다.

  • 클라이언트 스크립트를 사용하여 ASP.NET 페이지의 특별히 표시된 메서드 및 웹 서비스에 액세스할 수 있도록 하는 웹 서비스에 대한 JavaScript 프록시 클래스. 이 프록시 클래스는 웹 서비스 및 페이지 메서드를 강력한 형식의 개체로 노출하여 액세스를 제공합니다.

  • ASP.NET 인증, 프로필 및 역할 응용 프로그램 서비스에 액세스하기 위한 JavaScript 클래스

배경

페이지에 하나 이상의 UpdatePanel 컨트롤이 포함된 경우 ScriptManager 컨트롤은 브라우저에서 부분 페이지 렌더링을 관리합니다. 이 컨트롤은 페이지 수명 주기와 상호 작용하여 UpdatePanel 컨트롤 내에 있는 페이지의 일부분을 업데이트합니다. 자세한 내용은 부분 페이지 렌더링 개요를 참조하십시오.

ScriptManager 컨트롤의 EnablePartialRendering 속성은 페이지가 부분 페이지 업데이트에 참여하는지 여부를 결정합니다. 기본적으로 EnablePartialRendering 속성은 true입니다. 따라서 페이지에 ScriptManager 컨트롤을 추가하면 부분 페이지 렌더링이 기본적으로 사용됩니다. UpdatePanel 컨트롤과 ScriptManager 컨트롤을 함께 사용하는 방법은 UpdatePanel 컨트롤 소개여러 UpdatePanel 컨트롤을 사용하여 단일 ASP.NET 페이지 만들기을를 참조하십시오.

부분 페이지 렌더링 오류 처리

부분 페이지 렌더링 중에는 다음을 수행하여 오류를 처리할 수 있습니다.

  • AllowCustomErrorsRedirect 속성을 설정합니다. 이는 비동기 포스트백 중 오류가 발생할 경우 Web.config 파일의 사용자 지정 오류 섹션이 사용되는 방식을 결정합니다.

  • 비동기 포스트백 중 페이지 오류가 있을 경우 발생되는 ScriptManager 컨트롤의 AsyncPostBackError 이벤트를 처리합니다.

  • 브라우저에 전송되는 오류 메시지인 AsyncPostBackErrorMessage 속성을 설정합니다.

형식 시스템 확장 사용

Microsoft AJAX 라이브러리는 문자열 및 배열에 네임스페이스, 상속, 인터페이스, 열거형, 리플렉션 및 도우미 함수를 제공하는 형식 시스템 확장을 JavaScript에 추가합니다. 이러한 확장은 .NET Framework 기능과 유사한 기능을 클라이언트 스크립트에 제공합니다. 이러한 기능을 사용하면 유지 관리 편리성을 높이고, 기능 및 레이어 기능을 보다 쉽게 추가할 수 있도록 체계적으로 AJAX 사용 ASP.NET 응용 프로그램을 작성할 수 있습니다. ASP.NET 웹 페이지에 ScriptManager 컨트롤을 추가하면 클라이언트 스크립트의 라이브러리를 사용할 수 있도록 형식 시스템 확장이 자동으로 포함됩니다. 자세한 내용은 Microsoft AJAX 라이브러리를 사용하여 사용자 지정 클라이언트 스크립트 만들기를 참조하십시오.

사용자 지정 스크립트 등록

ScriptManager 컨트롤을 사용하여 부분 페이지 업데이트에 참여하는 컨트롤을 위해 만든 리소스를 관리할 수 있습니다. 리소스에는 스크립트, 스타일, 숨김 필드 및 배열이 포함됩니다. ScriptManager 컨트롤의 Scripts 컬렉션에는 브라우저에서 사용할 수 있는 각 스크립트에 대한 ScriptReference 개체가 포함되어 있습니다. 스크립트는 선언적으로 또는 프로그래밍 방식으로 지정할 수 있습니다.

ScriptManager 컨트롤은 클라이언트 스크립트 및 숨김 필드를 프로그래밍 방식으로 관리하는 데 사용할 수 있는 등록 메서드도 노출합니다. 부분 페이지 업데이트를 지원하는 스크립트 또는 숨김 필드를 등록하는 경우에는 ScriptManager 컨트롤의 등록 메서드를 호출해야 합니다. 부분 페이지 업데이트에 필요하지 않은 스크립트를 등록하려면 ClientScriptManager 클래스의 메서드를 사용합니다.

참고:

ScriptManager 컨트롤을 사용하여 등록한 페이지의 모든 스크립트 및 모든 이벤트 처리 스크립트는 페이지의 form 요소 내에 있어야 합니다. 그렇지 않으면 스크립트가 등록 또는 실행되지 않습니다.

ClientScriptManager 컨트롤 등록 메서드 목록은 Microsoft AJAX 라이브러리를 사용하여 사용자 지정 클라이언트 스크립트 만들기ClientScriptManager 클래스 개요를 참조하십시오.

웹 서비스 등록

AJAX 사용 ASP.NET 페이지에서 호출하려는 웹 서비스를 등록하려면 웹 서비스를 ScriptManager 컨트롤의 Services 컬렉션에 추가하여 등록합니다. ASP.NET AJAX 프레임워크는 Services 컬렉션의 각 ServiceReference 개체에 대해 클라이언트 프록시 개체를 생성합니다. 프록시 클래스 및 강력한 형식의 해당 멤버를 사용하면 클라이언트 스크립트에서의 웹 서비스 사용 작업이 단순해집니다.

Services 컬렉션에 프로그래밍 방식으로 ServiceReference 개체를 추가하여 런타임에 웹 서비스를 등록할 수 있습니다. 자세한 내용은 ASP.NET AJAX의 웹 서비스을를 참조하십시오.

클라이언트 스크립트에서 인증, 프로필 및 역할 서비스 사용

Microsoft AJAX 라이브러리에는 JavaScript에서 ASP.NET 2.0 폼 인증, 프로필 및 역할 응용 프로그램 서비스를 직접 호출하기 위한 프록시 클래스가 포함되어 있습니다. 사용자 지정 인증 서비스를 사용하려는 경우 ScriptManager 컨트롤을 사용하여 해당 서비스를 등록할 수 있습니다. 자세한 내용은 ASP.NET AJAX에서 폼 인증 사용, ASP.NET AJAX에서 프로필 정보 사용ASP.NET AJAX에서 역할 정보 사용을 참조하십시오.

ScriptManagerProxy 클래스

페이지에는 ScriptManager 컨트롤의 인스턴스를 하나만 추가할 수 있습니다. 컨트롤을 페이지에 직접적으로 포함하거나 사용자 컨트롤, 마스터 페이지에 대한 콘텐츠 페이지 또는 중첩된 마스터 페이지와 같은 중첩된 구성 요소 내에 간접적으로 포함할 수 있습니다. 페이지에 이미 ScriptManager 컨트롤이 포함되어 있지만 중첩된 구성 요소 또는 부모 구성 요소에 ScriptManager 컨트롤의 추가 기능이 필요한 경우 구성 요소에 ScriptManagerProxy 컨트롤을 포함할 수 있습니다. 예를 들어 ScriptManagerProxy 컨트롤을 사용하면 중첩된 구성 요소와 관련된 스크립트 및 서비스를 추가할 수 있습니다.

코드 예제

샘플 AJAX 응용 프로그램

연습: AJAX 사용 웹 사이트 만들기

연습: 클라이언트 스크립트를 사용하여 날짜 전역화

Microsoft AJAX 라이브러리를 사용하여 사용자 지정 클라이언트 스크립트 만들기

연습: AJAX 사용 웹 서비스 만들기 및 사용

UpdatePanel 컨트롤 소개

UpdateProgress 컨트롤 소개

연습: Timer 컨트롤 소개

동적으로 스크립트 참조 할당

클라이언트 동작을 웹 서버 컨트롤에 연결하는 Extender 컨트롤 만들기

웹 서버 컨트롤에 클라이언트 기능 추가

사용자 지정 AJAX 클라이언트 컨트롤 만들기

사용자 지정 비시각적 클라이언트 구성 요소 만들기

클래스 참조

클래스

설명

ScriptManager

Microsoft AJAX 라이브러리 및 부분 페이지 렌더링을 가능하게 만드는 기능을 비롯하여 스크립트 리소스를 브라우저에 제공하는 서버 컨트롤입니다.

ScriptManagerProxy

페이지에 이미 ScriptManager 컨트롤이 포함되어 있는 경우 중첩된 구성 요소가 스크립트 및 서비스 참조를 추가할 수 있도록 하는 서버 컨트롤입니다.

참고 항목

개념

ASP.NET 페이지 수명 주기 개요

부분 페이지 렌더링 개요

ASP.NET AJAX의 웹 서비스