ClientScriptManager.IsClientScriptBlockRegistered Methode

Definition

Bestimmt, ob der Clientskriptblock für das Page-Objekt registriert ist.Determines whether the client script block is registered with the Page object.

Überlädt

IsClientScriptBlockRegistered(String)

Bestimmt unter Verwendung des angegebenen Schlüssels, ob der Clientskriptblock für das Page-Objekt registriert ist.Determines whether the client script block is registered with the Page object using the specified key.

IsClientScriptBlockRegistered(Type, String)

Bestimmt unter Verwendung des Schlüssels und des Typs, ob der Clientskriptblock für das Page-Objekt registriert ist.Determines whether the client script block is registered with the Page object using a key and type.

IsClientScriptBlockRegistered(String)

Bestimmt unter Verwendung des angegebenen Schlüssels, ob der Clientskriptblock für das Page-Objekt registriert ist.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

Parameter

key
String

Der Schlüssel des zu suchenden Clientskriptblocks.The key of the client script block to search for.

Gibt zurück

true, wenn der Clientskriptblock registriert ist, andernfalls false.true if the client script block is registered; otherwise, false.

Beispiele

<%@ 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>

Hinweise

Rufen Sie diese Methode auf, RegisterClientScriptBlock bevor Sie die-Methode aufrufen, damit doppelte Skripts nicht registriertCall this method before calling the RegisterClientScriptBlock method to avoid registering duplicate scripts. Dies ist besonders wichtig, wenn das Skript eine große Menge an Server Ressourcen benötigt, die erstellt werden müssen.This is particularly important if the script requires a large amount of server resources to create.

Ein Client Skript wird durch seinen Schlüssel und dessen Typ eindeutig identifiziert.A client script is uniquely identified by its key and its type. Skripts mit demselben Schlüssel und Typ werden als Duplikate angesehen.Scripts with the same key and type are considered duplicates.

Diese Überladung der IsClientScriptBlockRegistered -Methode ruft die-Überladung auf key , die type einen-Parameter und einen-Parameter Page mit dem Typ als-Objekt annimmt.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

Siehe auch

IsClientScriptBlockRegistered(Type, String)

Bestimmt unter Verwendung des Schlüssels und des Typs, ob der Clientskriptblock für das Page-Objekt registriert ist.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

Parameter

type
Type

Der Typ des zu suchenden Clientskriptblocks.The type of the client script block to search for.

key
String

Der Schlüssel des zu suchenden Clientskriptblocks.The key of the client script block to search for.

Gibt zurück

true, wenn der Clientskriptblock registriert ist, andernfalls false.true if the client script block is registered; otherwise, false.

Ausnahmen

Der Clientskripttyp ist null.The client script type is null.

Beispiele

Im folgenden Codebeispiel wird die Verwendung IsClientScriptBlockRegistered der-Methode veranschaulicht.The following code example demonstrates the use of the IsClientScriptBlockRegistered method. Beachten Sie Folgendes: Wenn die Logik zum Überprüfen des vorhandenen Client Skript Blocks entfernt wurde, gibt es im HTML-Quellcode der gerenderten Seite keine zwei doppelten Client Skripts, RegisterClientScriptBlock da die-Methode auf Duplikate prüft.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. Der Vorteil der Überprüfung besteht darin, unnötige Berechnungen zu verringern.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>

Hinweise

Rufen Sie diese Methode auf, RegisterClientScriptBlock bevor Sie die-Methode aufrufen, damit doppelte Skripts nicht registriertCall this method before calling the RegisterClientScriptBlock method to avoid registering duplicate scripts. Dies ist besonders wichtig, wenn das Skript eine große Menge an Server Ressourcen benötigt, die erstellt werden müssen.This is particularly important if the script requires a large amount of server resources to create.

Ein Client Skript wird durch seinen Schlüssel und dessen Typ eindeutig identifiziert.A client script is uniquely identified by its key and its type. Skripts mit demselben Schlüssel und Typ werden als Duplikate angesehen.Scripts with the same key and type are considered duplicates. Sie geben den Typ basierend auf dem Objekt an, das auf die Ressource zugreift.You specify the type based on the object that will be accessing the resource. Wenn Sie beispielsweise für den Page Zugriff auf die Ressource eine-Instanz verwenden, Page geben Sie den Typ an.For instance, when using a Page instance to access the resource, you specify the Page type.

Siehe auch

Gilt für: