ClientScriptManager.IsClientScriptBlockRegistered ClientScriptManager.IsClientScriptBlockRegistered ClientScriptManager.IsClientScriptBlockRegistered ClientScriptManager.IsClientScriptBlockRegistered Method

定義

判斷用戶端指令碼區塊是否向 Page 物件註冊過。Determines whether the client script block is registered with the Page object.

多載

IsClientScriptBlockRegistered(String) IsClientScriptBlockRegistered(String) IsClientScriptBlockRegistered(String) IsClientScriptBlockRegistered(String)

判斷用戶端指令碼區塊是否已使用指定的索引鍵,向 Page 物件註冊。Determines whether the client script block is registered with the Page object using the specified key.

IsClientScriptBlockRegistered(Type, String) IsClientScriptBlockRegistered(Type, String) IsClientScriptBlockRegistered(Type, String)

判斷用戶端指令碼區塊是否已使用指定的索引鍵和型別,向 Page 物件註冊。Determines whether the client script block is registered with the Page object using a key and type.

IsClientScriptBlockRegistered(String) IsClientScriptBlockRegistered(String) IsClientScriptBlockRegistered(String) IsClientScriptBlockRegistered(String)

判斷用戶端指令碼區塊是否已使用指定的索引鍵,向 Page 物件註冊。Determines whether the client script block is registered with the Page object using the specified key.

public:
 bool IsClientScriptBlockRegistered(System::String ^ key);
public bool IsClientScriptBlockRegistered (string key);
member this.IsClientScriptBlockRegistered : string -> bool
Public Function IsClientScriptBlockRegistered (key As String) As Boolean

參數

key
String String String String

要搜尋的用戶端指令碼區塊索引鍵。The key of the client script block to search for.

傳回

如果此用戶端指令碼區塊已註冊,則為 true,否則為 falsetrue if the client script block is registered; otherwise, false.

範例

<%@ 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);
    }

    // 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());
    }
  }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <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>
<%@ 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 System.EventArgs)

    ' Define the name and type of the client scripts on the page.
    Dim csname1 As String = "PopupScript"
    Dim csname2 As String = "ButtonClickScript"
    Dim cstype As Type = Me.GetType()
    
    ' Get a ClientScriptManager reference from the Page class.
    Dim cs As ClientScriptManager = Page.ClientScript

    ' Check to see if the startup script is already registered.
    If (Not cs.IsStartupScriptRegistered(cstype, csname1)) Then
      
      Dim cstext1 As String = "alert('Hello World');"
            cs.RegisterStartupScript(cstype, csname1, cstext1)
      
    End If
    
    ' Check to see if the client script is already registered.
    If (Not cs.IsClientScriptBlockRegistered(cstype, 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>")
            cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString())
      
    End If
    
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <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>

備註

呼叫這個方法之前呼叫RegisterClientScriptBlock方法,以避免註冊重複的指令碼。Call this method before calling the RegisterClientScriptBlock method to avoid registering duplicate scripts. 這是特別重要,如果指令碼需要大量伺服器資源來建立。This is particularly important if the script requires a large amount of server resources to create.

用戶端指令碼是唯一識別由其索引鍵和其類型。A client script is uniquely identified by its key and its type. 具有相同的索引鍵和類型的指令碼會被視為重複。Scripts with the same key and type are considered duplicates.

這個多載IsClientScriptBlockRegistered方法會呼叫多載,兩者keytype類型的參數設定為Page物件This overload of the IsClientScriptBlockRegistered method calls the overload that takes both a key and a type parameter with the type set as a Page object

另請參閱

IsClientScriptBlockRegistered(Type, String) IsClientScriptBlockRegistered(Type, String) IsClientScriptBlockRegistered(Type, String)

判斷用戶端指令碼區塊是否已使用指定的索引鍵和型別,向 Page 物件註冊。Determines whether the client script block is registered with the Page object using a key and type.

public:
 bool IsClientScriptBlockRegistered(Type ^ type, System::String ^ key);
public bool IsClientScriptBlockRegistered (Type type, string key);
member this.IsClientScriptBlockRegistered : Type * string -> bool

參數

type
Type Type Type Type

要搜尋的用戶端指令碼區塊型別。The type of the client script block to search for.

key
String String String String

要搜尋的用戶端指令碼區塊索引鍵。The key of the client script block to search for.

傳回

如果此用戶端指令碼區塊已註冊,則為 true,否則為 falsetrue if the client script block is registered; otherwise, false.

例外狀況

用戶端指令碼型別為 nullThe client script type is null.

範例

下列程式碼範例示範使用IsClientScriptBlockRegistered方法。The following code example demonstrates the use of the IsClientScriptBlockRegistered method. 請注意,是否已移除的邏輯,以檢查是否有現有的用戶端指令碼區塊,則不會兩個重複的用戶端指令碼中呈現之網頁的 HTML 原始碼因為RegisterClientScriptBlock方法檢查是否有重複的項目。Note that, if the logic to check for the existing client script block were removed, there would not be two duplicate client scripts in the HTML source code of the rendered page because the RegisterClientScriptBlock method checks for duplicates. 檢查的優點是減少不必要的計算。The benefit of checking is to reduce unnecessary computation.

<%@ 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 xmlns="http://www.w3.org/1999/xhtml" >
  <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>
<%@ 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 System.EventArgs)

    ' Define the name and type of the client scripts on the page.
    Dim csname1 As String = "PopupScript"
    Dim csname2 As String = "ButtonClickScript"
    Dim cstype As Type = Me.GetType()
    
    ' Get a ClientScriptManager reference from the Page class.
    Dim cs As ClientScriptManager = Page.ClientScript

    ' Check to see if the startup script is already registered.
    If (Not cs.IsStartupScriptRegistered(cstype, csname1)) Then
      
      Dim cstext1 As String = "alert('Hello World');"
      cs.RegisterStartupScript(cstype, csname1, cstext1, True)
      
    End If
    
    ' Check to see if the client script is already registered.
    If (Not cs.IsClientScriptBlockRegistered(cstype, 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>")
      cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), False)
      
    End If
    
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <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>

備註

呼叫這個方法之前呼叫RegisterClientScriptBlock方法,以避免註冊重複的指令碼。Call this method before calling the RegisterClientScriptBlock method to avoid registering duplicate scripts. 這是特別重要,如果指令碼需要大量伺服器資源來建立。This is particularly important if the script requires a large amount of server resources to create.

用戶端指令碼是唯一識別由其索引鍵和其類型。A client script is uniquely identified by its key and its type. 具有相同的索引鍵和類型的指令碼會被視為重複。Scripts with the same key and type are considered duplicates. 您指定將用來存取資源的物件為基礎的類型。You specify the type based on the object that will be accessing the resource. 比方說,使用時Page執行個體,以存取資源,您指定Page型別。For instance, when using a Page instance to access the resource, you specify the Page type.

另請參閱

適用於