다음을 통해 공유


ScriptManager.RegisterClientScriptInclude 메서드

정의

ScriptManager 컨트롤 내에 있는 컨트롤과 함께 사용할 UpdatePanel 컨트롤을 사용하여 클라이언트 스크립트 파일을 등록한 후 페이지에 스크립트 파일 참조를 추가합니다.

오버로드

RegisterClientScriptInclude(Control, Type, String, String)

ScriptManager 컨트롤 내에 있는 컨트롤과 함께 사용할 UpdatePanel 컨트롤을 사용하여 클라이언트 스크립트 파일을 등록한 후 페이지에 스크립트 파일 참조를 추가합니다.

RegisterClientScriptInclude(Page, Type, String, String)

비동기 포스트백이 발생할 때마다 ScriptManager 컨트롤을 사용하여 클라이언트 스크립트를 등록한 후 페이지에 스크립트 파일 참조를 추가합니다.

RegisterClientScriptInclude(Control, Type, String, String)

ScriptManager 컨트롤 내에 있는 컨트롤과 함께 사용할 UpdatePanel 컨트롤을 사용하여 클라이언트 스크립트 파일을 등록한 후 페이지에 스크립트 파일 참조를 추가합니다.

public:
 static void RegisterClientScriptInclude(System::Web::UI::Control ^ control, Type ^ type, System::String ^ key, System::String ^ url);
public static void RegisterClientScriptInclude (System.Web.UI.Control control, Type type, string key, string url);
static member RegisterClientScriptInclude : System.Web.UI.Control * Type * string * string -> unit
Public Shared Sub RegisterClientScriptInclude (control As Control, type As Type, key As String, url As String)

매개 변수

control
Control

클라이언트 스크립트 파일을 등록하는 컨트롤입니다.

type
Type

클라이언트 스크립트 파일의 형식입니다. 이 매개 변수는 일반적으로 typeof 연산자(C#) 또는 GetType 연산자(Visual Basic)로 스크립트를 등록하는 컨트롤의 형식을 검색하여 지정됩니다.

key
String

스크립트 파일의 고유한 식별자입니다.

url
String

스크립트 파일의 URL입니다.

예외

클라이언트 스크립트 파일 typenull인 경우

또는 스크립트 파일을 등록하는 컨트롤이 null인 경우

스크립트 파일을 등록하는 컨트롤이 페이지의 컨트롤 트리에 있지 않은 경우

또는 urlnull입니다.

또는 url가 비어 있는 경우

예제

<%@ 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)
    {
        if (!IsPostBack)
            Calendar1.SelectedDate = DateTime.Today;
        
    }
    protected void Page_PreRender(object sender, EventArgs e)
    {
        ScriptManager.RegisterClientScriptInclude(
            this,
            typeof(Page),
            "AlertScript",
            ResolveClientUrl("~/scripts/script_alertdiv.js"));
    }
    protected void IncrementButton_Click(object sender, EventArgs e)
    {
        Calendar1.SelectedDate = Calendar1.SelectedDate.AddDays(1.0);
    }
    protected void DecrementButton_Click(object sender, EventArgs e)
    {
        Calendar1.SelectedDate = Calendar1.SelectedDate.AddDays(-1.0);
    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>ScriptManager RegisterClientScriptInclude</title>
    <style type="text/css">
    div.MessageStyle
    {
      background-color: Green;
      top: 95%;
      left: 1%;
      position: absolute;
      visibility: hidden;
    }
    </style>
</head>
<body>
    <form id="Form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1"
                               runat="server"/>

            <script type="text/javascript">
            Sys.WebForms.PageRequestManager.instance.add_endRequest(Notify);
            </script>

            <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional"
                runat="server">
                <ContentTemplate>
                    <asp:Calendar ID="Calendar1" runat="server"/>
                    <br />
                    Change the selected date: 
                    <asp:Button runat="server" ID="DecrementButton" Text="-" OnClick="DecrementButton_Click" />
                    <asp:Button runat="server" ID="IncrementButton" Text="+" OnClick="IncrementButton_Click" />
                </ContentTemplate>
            </asp:UpdatePanel>

            <div id="NotifyDiv" class="MessageStyle">
                Updates are complete.
            </div>
        </div>
    </form>
</body>
</html>
function Notify(sender, arg)
{
    ActivateAlertDiv('visible', 'NotifyDiv');
    setTimeout("ActivateAlertDiv('hidden', 'NotifyDiv')", 1000);
}
function ActivateAlertDiv(visstring, elem)
{
    var adiv = document.getElementById(elem);
    adiv.style.visibility = visstring;
}

설명

이 메서드를 RegisterClientScriptInclude 사용하여 부분 페이지 업데이트에 참여하는 페이지 또는 페이지의 일부에 대한 클라이언트 스크립트 파일을 등록합니다. 이 메서드를 사용하여 등록된 클라이언트 스크립트 파일은 업데이트되는 컨트롤 내에 있는 컨트롤을 나타내는 경우에만 control 페이지로 UpdatePanel 전송됩니다. 비동기 포스트백이 발생할 때마다 스크립트 파일을 등록하려면 이 메서드의 오버로드를 RegisterClientScriptInclude(Page, Type, String, String) 사용합니다.

부분 페이지 업데이트와 관련이 없는 스크립트 블록을 등록하고 초기 페이지 렌더링 중에 스크립트 블록을 한 번만 등록하려는 경우 클래스의 메서드를 ClientScriptManager 사용합니다RegisterClientScriptBlock. 페이지의 속성에서 개체에 대한 참조 ClientScriptManagerClientScript 가져올 수 있습니다.

이 메서드는 여는 RegisterClientScriptInclude 태그에 특성이 포함된 요소를 렌더링하여 script 페이지에 클라이언트 스크립트 파일을 등록합니다 src . 매개 url 변수는 특성을 설정하는 src 데 사용됩니다. URL을 확인하려면 이 메서드를 ResolveClientUrl 사용합니다. 이 메서드는 경로를 확인하기 위해 호출되는 URL의 컨텍스트를 사용합니다.

RegisterClientScriptIncludeRegisterClientScriptResource 메서드는 모두 스크립트 파일을 브라우저에 렌더링합니다. 동일한 형식과 키를 가진 스크립트(스크립트 파일의 경우) 또는 동일한 형식 및 리소스 이름(포함된 리소스의 경우)이 이미 렌더링된 경우 스크립트는 다시 렌더링되지 않습니다.

추가 정보

적용 대상

RegisterClientScriptInclude(Page, Type, String, String)

비동기 포스트백이 발생할 때마다 ScriptManager 컨트롤을 사용하여 클라이언트 스크립트를 등록한 후 페이지에 스크립트 파일 참조를 추가합니다.

public:
 static void RegisterClientScriptInclude(System::Web::UI::Page ^ page, Type ^ type, System::String ^ key, System::String ^ url);
public static void RegisterClientScriptInclude (System.Web.UI.Page page, Type type, string key, string url);
static member RegisterClientScriptInclude : System.Web.UI.Page * Type * string * string -> unit
Public Shared Sub RegisterClientScriptInclude (page As Page, type As Type, key As String, url As String)

매개 변수

page
Page

클라이언트 스크립트 파일을 등록하는 페이지 개체입니다.

type
Type

클라이언트 스크립트 파일의 형식입니다. 이 매개 변수는 일반적으로 typeof 연산자(C#) 또는 GetType 연산자(Visual Basic)로 스크립트를 등록하는 컨트롤의 형식을 검색하여 지정됩니다.

key
String

스크립트 파일의 고유한 식별자입니다.

url
String

스크립트 파일의 URL입니다.

예외

클라이언트 스크립트 파일 typenull인 경우

또는 스크립트 파일을 등록하는 페이지가 null인 경우

url이(가) null인 경우

또는 url가 비어 있는 경우

설명

이 메서드에 스크립트 파일을 등록하면 비동기 포스트백이 발생할 때마다 스크립트가 렌더링됩니다. 컨트롤이 업데이트될 때만 스크립트가 등록되도록 컨트롤 내부에 UpdatePanel 있는 컨트롤에 UpdatePanel 대한 스크립트 파일을 등록하려면 이 메서드의 오버로드를 RegisterClientScriptInclude(Control, Type, String, String) 사용합니다.

부분 페이지 업데이트와 관련이 없는 스크립트 블록을 등록하고 초기 페이지 렌더링 중에 스크립트 블록을 한 번만 등록하려는 경우 클래스의 메서드를 ClientScriptManager 사용합니다RegisterClientScriptBlock. 페이지의 속성에서 개체에 대한 참조 ClientScriptManagerClientScript 가져올 수 있습니다.

추가 정보

적용 대상