다음을 통해 공유


Page.IsClientScriptBlockRegistered(String) 메서드

정의

주의

The recommended alternative is ClientScript.IsClientScriptBlockRegistered(string key). http://go.microsoft.com/fwlink/?linkid=14202

지정된 키가 있는 클라이언트 스크립트 블록이 페이지에 등록되는지 여부를 결정합니다.

public:
 bool IsClientScriptBlockRegistered(System::String ^ key);
public bool IsClientScriptBlockRegistered (string key);
[System.Obsolete("The recommended alternative is ClientScript.IsClientScriptBlockRegistered(string key). http://go.microsoft.com/fwlink/?linkid=14202")]
public bool IsClientScriptBlockRegistered (string key);
member this.IsClientScriptBlockRegistered : string -> bool
[<System.Obsolete("The recommended alternative is ClientScript.IsClientScriptBlockRegistered(string key). http://go.microsoft.com/fwlink/?linkid=14202")>]
member this.IsClientScriptBlockRegistered : string -> bool
Public Function IsClientScriptBlockRegistered (key As String) As Boolean

매개 변수

key
String

검색할 클라이언트 스크립트의 문자열 키입니다.

반환

Boolean

스크립트 블록이 등록되면 true이고, 그렇지 않으면 false입니다.

특성

예제

다음 코드 예제에서는 메서드와 함께 메서드를 RegisterClientScriptBlock 사용하는 방법을 IsClientScriptBlockRegistered 보여 줍니다. 코드 선언 블록에 기록된 ECMAScript가 결정 IsClientScriptBlockRegisteredRegisterClientScriptBlock 된 대로 아직 등록되지 않은 경우 호출이 이루어집니다.

<%@ 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)
  {
    String csname1 = "PopupScript";
    String csname2 = "ButtonClickScript";

    if (!IsClientScriptBlockRegistered(csname1))
    {
        String cstext1 = "<script type=\"text/javascript\">" +
            "alert('Hello World');</" + "script>";
        RegisterStartupScript(csname1, cstext1);
    }

    if (!IsClientScriptBlockRegistered(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>");
      RegisterClientScriptBlock(csname2, cstext2.ToString());
    }
  }
</script>
<html  >
  <head>
    <title>RegisterClientScriptBlock Example</title>
  </head>
  <body>
     <form id="Form1"
         runat="server">
        <input type="text" id="Message" /> <input type="button" value="ClickMe" onclick="DoClick()" />
     </form>
  </body>
</html>

<%@ Page Language="VB"  %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        Dim csname1 As String = "PopupScript"

        Dim csname2 As String = "ButtonClickScript"
    
        If Not IsClientScriptBlockRegistered(csname1) Then
            Dim cstext1 As String = "<script type=""text/javascript"">" & _
                "alert('Hello World');</" & "script>"
            RegisterStartupScript(csname1, cstext1)
        End If
    
        If Not IsClientScriptBlockRegistered(csname2) Then
            Dim cstext2 As New StringBuilder()
            cstext2.Append("<script type=""text/javascript""> function DoClick() {")
            cstext2.Append("Form1.Message.value='Text from client script.'} </")
            cstext2.Append("script>")
            RegisterClientScriptBlock(csname2, cstext2.ToString())
        End If
    End Sub
</script>
<html  >
  <head>
    <title>RegisterClientScriptBlock Example</title>
  </head>
  <body>
     <form id="Form1"
         runat="server">
        <input type="text" id="Message" /> <input type="button" value="ClickMe" onclick="DoClick()" />
     </form>
  </body>
</html>

설명

호출하기 전에 이 메서드를 호출 Page.RegisterClientScriptBlock 하여 클라이언트 쪽 스크립트를 불필요하게 어셈블하지 않도록 합니다. 이 스크립트를 사용 하려면 많은 양의 서버 리소스를 만들어야 하는 경우에 특히 중요 합니다.

IsClientScriptBlockRegistered 메서드는 사용되지 않습니다. 클래스에서 IsClientScriptBlockRegistered 메서드를 ClientScriptManager 사용합니다.

적용 대상

추가 정보