ClientScriptManager.RegisterStartupScript Método

Definição

Regista o script de arranque com o Page objeto.

Sobrecargas

Name Description
RegisterStartupScript(Type, String, String)

Regista o script de arranque com o Page objeto usando um tipo, uma chave e um script literal.

RegisterStartupScript(Type, String, String, Boolean)

Regista o script de arranque com o Page objeto usando um tipo, uma chave, um literal de script e um valor booleano que indicam se deve adicionar etiquetas de script.

RegisterStartupScript(Type, String, String)

Regista o script de arranque com o Page objeto usando um tipo, uma chave e um script literal.

public:
 void RegisterStartupScript(Type ^ type, System::String ^ key, System::String ^ script);
public void RegisterStartupScript(Type type, string key, string script);
member this.RegisterStartupScript : Type * string * string -> unit
Public Sub RegisterStartupScript (type As Type, key As String, script As String)

Parâmetros

type
Type

O tipo do script de arranque para registar.

key
String

A chave do script de arranque para registar.

script
String

O script de arranque literalmente para registar.

Exemplos

O exemplo de código seguinte demonstra a utilização do RegisterStartupScript método. Note que as etiquetas de início e fecho do script estão incluídas dentro do script parâmetro. Para adicionar as etiquetas de script com base numa definição adicional de parâmetro, consulte o RegisterStartupScript método.

<%@ 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";
    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))
    {
        StringBuilder cstext1 = new StringBuilder();
        cstext1.Append("<script type=text/javascript> alert('Hello World!') </");
        cstext1.Append("script>");

        cs.RegisterStartupScript(cstype, csname1, cstext1.ToString());
    }
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>RegisterStartupScript</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    </div>
    </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">
    Public Sub Page_Load(ByVal sender As [Object], ByVal e As EventArgs)
        ' Define the name and type of the client scripts on the page. 
        Dim csname1 As [String] = "PopupScript"
        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 New StringBuilder()
            cstext1.Append("<script type=text/javascript> alert('Hello World!') </")
            cstext1.Append("script>")
        
            cs.RegisterStartupScript(cstype, csname1, cstext1.ToString())
        End If
    End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>RegisterStartupScript</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    </div>
    </form>
</body>
</html>

Observações

Um script cliente é identificado de forma única pela sua chave e pelo seu tipo. Scripts com a mesma chave e tipo são considerados duplicados. Apenas um script com um determinado tipo e par de chaves pode ser registado na página. Tentar registar um script que já está registado não cria um duplicado do script.

Chame o IsStartupScriptRegistered método para determinar se um script de arranque com um dado par de chave e tipo já está registado e evite tentar desnecessariamente adicionar o script.

Nesta sobrecarga do RegisterStartupScript método, deve garantir que o script fornecido no script parâmetro está enrolado com um <script> bloco de elemento.

O bloco de script adicionado pelo RegisterStartupScript método executa-se quando a página termina de carregar, mas antes de o evento da OnLoad página ser ativado. Os blocos de script não têm garantia de serem produzidos na ordem em que são registados. Se a ordem dos blocos de script for importante, use um StringBuilder objeto para reunir os scripts numa única cadeia e depois registe-os todos num único bloco de script cliente.

Ver também

Aplica-se a

RegisterStartupScript(Type, String, String, Boolean)

Regista o script de arranque com o Page objeto usando um tipo, uma chave, um literal de script e um valor booleano que indicam se deve adicionar etiquetas de script.

public:
 void RegisterStartupScript(Type ^ type, System::String ^ key, System::String ^ script, bool addScriptTags);
public void RegisterStartupScript(Type type, string key, string script, bool addScriptTags);
member this.RegisterStartupScript : Type * string * string * bool -> unit
Public Sub RegisterStartupScript (type As Type, key As String, script As String, addScriptTags As Boolean)

Parâmetros

type
Type

O tipo do script de arranque para registar.

key
String

A chave do script de arranque para registar.

script
String

O script de arranque literalmente para registar.

addScriptTags
Boolean

Um valor booleano que indica se deve adicionar etiquetas de script.

Exceções

type é null.

Exemplos

O exemplo de código seguinte demonstra a utilização do RegisterStartupScript método. Note que o addScriptTags parâmetro está definido para false que as etiquetas de início e fecho do script sejam incluídas com o script parâmetro.

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

Observações

Um script de arranque é identificado de forma única pela sua chave e pelo seu tipo. Scripts com a mesma chave e tipo são considerados duplicados. Apenas um script com um determinado tipo e par de chaves pode ser registado na página. Tentar registar um script que já está registado não cria um duplicado do script.

Chame o IsStartupScriptRegistered método para determinar se um script de arranque com um dado par de chave e tipo já está registado e evite tentar desnecessariamente adicionar o script.

Nesta sobrecarga do RegisterStartupScript método, pode indicar se o script fornecido no script parâmetro está enrolado com um <script> bloco de elemento usando o addScriptTags parâmetro. Definir addScriptTags para true indica que as etiquetas de script serão adicionadas automaticamente.

O bloco de script adicionado pelo RegisterStartupScript método executa-se quando a página termina de carregar, mas antes de o evento da OnLoad página ser ativado. Os blocos de script não têm garantia de serem produzidos na ordem em que são registados. Se a ordem dos blocos de script for importante, use um StringBuilder objeto para reunir os scripts numa única cadeia e depois registe-os todos num único bloco de script cliente.

Ver também

Aplica-se a