-
ClientScriptManager 클래스 클라이언트 콜백 구현 예제(C#).NET/ASP.NET 2009. 11. 18. 10:53반응형
ClientScriptManager 클래스업데이트: 2007년 11월
웹 응용 프로그램에서 클라이언트 스크립트를 관리하는 메서드를 정의합니다.
네임스페이스: System.Web.UI
어셈블리: System.Web(System.Web.dll)구문C#[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)] public sealed class ClientScriptManager
Visual C++[AspNetHostingPermissionAttribute(SecurityAction::LinkDemand, Level = AspNetHostingPermissionLevel::Minimal)] [AspNetHostingPermissionAttribute(SecurityAction::InheritanceDemand, Level = AspNetHostingPermissionLevel::Minimal)] public ref class ClientScriptManager sealed
JScriptpublic final class ClientScriptManager
설명ClientScriptManager 클래스는 클라이언트 스크립트를 관리하고 웹 응용 프로그램에 추가하는 데 사용됩니다. Page 개체의ClientScript 속성에서 ClientScriptManager 클래스에 대한 참조를 가져올 수 있습니다.
페이지의 HTML 태그에 스크립트를 포함하여 웹 페이지에 클라이언트 스크립트를 선언적으로 추가할 수 있습니다. 그러나 클라이언트 스크립트를 동적으로 추가해야 하는 경우도 있습니다. 스크립트를 동적으로 추가하려면 스크립트를 추가할 시기와 방법에 따라RegisterClientScriptBlock 메서드, RegisterClientScriptInclude 메서드, RegisterStartupScript 메서드 또는RegisterOnSubmitStatement 메서드를 사용합니다. 자세한 내용은 방법: ASP.NET 웹 페이지에 동적으로 클라이언트 스크립트 추가를 참조하십시오.
ClientScriptManager 클래스에서는 String 키와 Type으로 스크립트를 고유하게 식별합니다. 키 및 형식이 같은 스크립트는 중복된 것으로 간주됩니다. 페이지에서 사용할 수 있는 여러 사용자 정의 컨트롤의 유사한 스크립트를 서로 혼동하지 않도록 하는 데 도움이 됩니다.
ClientScriptManager 클래스는 다시 게시를 수행하지 않고 클라이언트에서 서버 코드를 실행하는 편이 나은 경우에 클라이언트 콜백을 호출하는 데 사용됩니다. 클라이언트 콜백 호출은 서버에 대한 out-of-band 콜백을 수행하는 것을 의미합니다. 클라이언트 콜백에서 클라이언트 스크립트 함수는 ASP.NET 웹 페이지로 비동기 요청을 보냅니다. 웹 페이지에서는 해당 페이지의 정상 수명 주기의 수정된 버전을 실행하여 콜백을 처리합니다. 호출될 경우 클라이언트에서 서버 이벤트를 콜백하도록 하는 클라이언트 함수에 대한 참조를 가져오려면 GetCallbackEventReference 메서드를 사용합니다. 자세한 내용은 ASP.NET 웹 페이지에서 다시 게시하지 않는 클라이언트 콜백을 프로그래밍 방식으로 구현을 참조하십시오.
참고: 스크립트 콜백은 DOM(문서 개체 모델)이 지원되지 않는 이전 브라우저에서 작동하지 않으며 클라이언트에서 ECMAScript를 사용할 수 있어야 합니다. 브라우저에서 콜백을 지원하는지 여부를 확인하려면 ASP.NET 내장 Request 개체의 Browser 속성을 통해 액세스할 수 있는 SupportsCallback 속성을 사용합니다.
클라이언트 다시 게시 이벤트를 정의하려면 GetPostBackEventReference 메서드와 GetPostBackClientHyperlink 메서드를 사용합니다. 이러한 메서드는 호출될 경우 서버에서 페이지에 다시 게시하도록 하는 클라이언트 스크립트 함수를 사용할 수 있도록 합니다. 웹 페이지에서 클라이언트 다시 게시 이벤트를 처리하기 위해 정상 수명 주기를 완료한다는 점에서 클라이언트 다시 게시 이벤트는 클라이언트 콜백과 다릅니다.
참고: Button 컨트롤을 사용하고 있고 UseSubmitBehavior 속성을 false로 설정한 경우에는 GetPostBackEventReference메서드를 사용하여 Button 컨트롤에 대한 클라이언트 다시 게시 이벤트를 반환할 수 있습니다.
Button 컨트롤, ImageButton 컨트롤 및 LinkButton 컨트롤의 OnClientClick 속성은 클라이언트 스크립트를 실행하는 데 사용할 수 있습니다.
Topic Location ASP.NET 웹 페이지에서 다시 게시하지 않는 클라이언트 콜백 구현 Building ASP .NET Web Applications ASP.NET 웹 페이지에서 다시 게시하지 않는 클라이언트 콜백을 프로그래밍 방식으로 구현 Visual Studio에서 ASP .NET 웹 응용 프로그램 빌드 방법: ASP.NET 웹 페이지에서 콜백 구현 Building ASP .NET Web Applications 방법: ASP.NET 웹 페이지에서 콜백 구현 Visual Studio에서 ASP .NET 웹 응용 프로그램 빌드 유효성 검사 기능이 있는 클라이언트 콜백 구현 예제 Building ASP .NET Web Applications 유효성 검사 기능이 있는 클라이언트 콜백 구현 예제 Visual Studio에서 ASP .NET 웹 응용 프로그램 빌드 클라이언트 콜백 구현 예제(C#) Building ASP .NET Web Applications 클라이언트 콜백 구현 예제(C#) Visual Studio에서 ASP .NET 웹 응용 프로그램 빌드 클라이언트 콜백 구현 예제(Visual Basic) Building ASP .NET Web Applications 클라이언트 콜백 구현 예제(Visual Basic) Visual Studio에서 ASP .NET 웹 응용 프로그램 빌드 예제다음 코드 예제에서는 ClientScriptManager 클래스의 RegisterClientScriptBlock 메서드를 사용하는 방법을 보여 줍니다. 페이지에는 두 개의 클라이언트 스크립트가 정의되는데, 하나는 페이지가 로드될 때 경고 메시지를 표시하는 PopupScript이고 다른 하나는 HTML 단추의 onClick 이벤트에 대한 클라이언트 처리기를 정의하는 ButtonClickScript입니다.
C#<%@ Page Language="C#"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> public void Page_Load(Object sender, EventArgs e) { // Define the name and type of the client scripts on the page. String csname1 = "PopupScript"; String csname2 = "ButtonClickScript"; Type cstype = this.GetType(); // Get a ClientScriptManager reference from the Page class. ClientScriptManager cs = Page.ClientScript; // Check to see if the startup script is already registered. if (!cs.IsStartupScriptRegistered(cstype, csname1)) { String cstext1 = "alert('Hello World');"; cs.RegisterStartupScript(cstype, csname1, cstext1, true); } // Check to see if the client script is already registered. if (!cs.IsClientScriptBlockRegistered(cstype, csname2)) { StringBuilder cstext2 = new StringBuilder(); cstext2.Append("<script type=\"text/javascript\"> function DoClick() {"); cstext2.Append("Form1.Message.value='Text from client script.'} </"); cstext2.Append("script>"); cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), false); } } </script> <html > <head> <title>ClientScriptManager Example</title> </head> <body> <form id="Form1" runat="server"> <input type="text" id="Message" /> <input type="button" value="ClickMe" onclick="DoClick()" /> </form> </body> </html>
권한- AspNetHostingPermission
호스팅된 환경에서 작업하는 데 필요한 권한입니다. 요청 값: LinkDemand, 권한 값: Minimal
- AspNetHostingPermission
호스팅된 환경에서 작업하는 데 필요한 권한입니다. 요청 값: InheritanceDemand, 권한 값: Minimal
상속 계층 구조플랫폼Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.
반응형'.NET > ASP.NET' 카테고리의 다른 글
ASP.NET 동적 테이블 생성 예제 (0) 2009.11.25 asp.net 실시간 접속자 수 알아내기 (0) 2009.11.24 브라우저에서 콜백을 지원하는지 여부를 확인 (0) 2009.11.18 ASP.NET Page Life Cycle (0) 2009.10.28 [asp.net] 코드 비하인드에서 동적으로 CSS 바꾸기 / System.Web.UI.AttributeCollection (0) 2009.09.30 중첩 마스터 페이지의 FindControl로 컨트롤 찾기 - FindControlRecursive Method 만들기 (0) 2009.07.29 방법: 컴퓨터에서 사용 가능한 ASP.NET 성능 카운터 보기 (0) 2009.07.22 [그림으로 보는 asp.net] 롤(Role Provider) 설정과 구현의 예 (2) 2009.07.08 - AspNetHostingPermission