Export (0) Print
Expand All

ClientScriptManager.IsStartupScriptRegistered Method (Type, String)

Determines whether the startup script is registered with the Page object using the specified key and type.

Namespace: System.Web.UI
Assembly: System.Web (in system.web.dll)

public bool IsStartupScriptRegistered (
	Type type,
	string key
)
public boolean IsStartupScriptRegistered (
	Type type, 
	String key
)
public function IsStartupScriptRegistered (
	type : Type, 
	key : String
) : boolean
Not applicable.

Parameters

type

The type of the startup script to search for.

key

The key of the startup script to search for.

Return Value

true if the startup script is registered; otherwise, false.

Exception typeCondition

ArgumentNullException

The startup script type is a null reference (Nothing in Visual Basic).

Call this method before calling the RegisterStartupScript method to avoid registering duplicate scripts. This is particularly important if the script requires a large amount of server resources to create.

A client startup script is uniquely identified by its key and its type. Scripts with the same key and type are considered duplicates.

The following code example demonstrates the use of the IsStartupScriptRegistered method. Note that, if the logic to check for the existing startup script block were removed, there would not be two duplicate startup scripts in the HTML source code of the rendered page because the RegisterStartupScript 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>

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0

Community Additions

ADD
Show:
© 2014 Microsoft