ClientScriptManager.IsClientScriptBlockRegistered Метод

Определение

Определяет, зарегистрирован ли блок клиентского скрипта с объектом Page.Determines whether the client script block is registered with the Page object.

Перегрузки

IsClientScriptBlockRegistered(String)

Определяет, зарегистрирован ли блок клиентского скрипта с объектом Page, используя указанный ключ.Determines whether the client script block is registered with the Page object using the specified key.

IsClientScriptBlockRegistered(Type, String)

Определяет, зарегистрирован ли блок клиентского скрипта с объектом Page, используя ключ и тип.Determines whether the client script block is registered with the Page object using a key and type.

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

Ключ блока клиентского скрипта, используемый для поиска.The key of the client script block to search for.

Возвраты

true, если блок клиентского скрипта зарегистрирован; в противном случае — false.true 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 метода вызывает перегрузку, которая принимает key и, и type параметр с типом, заданным как 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)

Определяет, зарегистрирован ли блок клиентского скрипта с объектом 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

Тип блока клиентского скрипта, используемый для поиска.The type of the client script block to search for.

key
String

Ключ блока клиентского скрипта, используемый для поиска.The key of the client script block to search for.

Возвраты

true, если блок клиентского скрипта зарегистрирован; в противном случае — false.true if the client script block is registered; otherwise, false.

Исключения

Тип клиентского скрипта — null.The 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.

Дополнительно

Применяется к