Compartilhar via


Page.RegisterStartupScript(String, String) Método

Definição

Cuidado

The recommended alternative is ClientScript.RegisterStartupScript(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202

Emite um bloco de script do lado do cliente na resposta da página.

public:
 virtual void RegisterStartupScript(System::String ^ key, System::String ^ script);
public virtual void RegisterStartupScript (string key, string script);
[System.Obsolete("The recommended alternative is ClientScript.RegisterStartupScript(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202")]
public virtual void RegisterStartupScript (string key, string script);
abstract member RegisterStartupScript : string * string -> unit
override this.RegisterStartupScript : string * string -> unit
[<System.Obsolete("The recommended alternative is ClientScript.RegisterStartupScript(Type type, string key, string script). http://go.microsoft.com/fwlink/?linkid=14202")>]
abstract member RegisterStartupScript : string * string -> unit
override this.RegisterStartupScript : string * string -> unit
Public Overridable Sub RegisterStartupScript (key As String, script As String)

Parâmetros

key
String

Chave exclusiva que identifica um bloco de script.

script
String

Conteúdo do script que será enviado ao cliente.

Atributos

Exemplos

O exemplo de código a seguir demonstra o uso do RegisterStartupScript método em conjunto com o IsStartupScriptRegistered método. Se o ECMAScript escrito no bloco de declaração de código ainda não tiver sido registrado, conforme determinado pelo IsStartupScriptRegistered método, uma RegisterStartupScript chamada será feita.

<%@ 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)
  {
    String csname1 = "PopupScript";
    String csname2 = "ButtonClickScript";

    if (!IsClientScriptBlockRegistered(csname1))
    {
        String cstext1 = "<script type=\"text/javascript\">" +
            "alert('Hello World');</" + "script>";
        RegisterStartupScript(csname1, cstext1);
    }

    if (!IsClientScriptBlockRegistered(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>");
      RegisterClientScriptBlock(csname2, cstext2.ToString());
    }
  }
</script>
<html  >
  <head>
    <title>RegisterClientScriptBlock 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 EventArgs)
        Dim csname1 As String = "PopupScript"

        Dim csname2 As String = "ButtonClickScript"
    
        If Not IsClientScriptBlockRegistered(csname1) Then
            Dim cstext1 As String = "<script type=""text/javascript"">" & _
                "alert('Hello World');</" & "script>"
            RegisterStartupScript(csname1, cstext1)
        End If
    
        If Not IsClientScriptBlockRegistered(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>")
            RegisterClientScriptBlock(csname2, cstext2.ToString())
        End If
    End Sub
</script>
<html  >
  <head>
    <title>RegisterClientScriptBlock Example</title>
  </head>
  <body>
     <form id="Form1"
         runat="server">
        <input type="text" id="Message" /> <input type="button" value="ClickMe" onclick="DoClick()" />
     </form>
  </body>
</html>

Comentários

Semelhante ao RegisterClientScriptBlock método, o RegisterStartupScript método emite o script pouco antes da marca de Page fechamento do elemento do <form runat= server> objeto. Certifique-se de incluir elementos de abertura e fechamento <script> ao redor da cadeia de caracteres de bloco de script especificada no script parâmetro.

Como esse método usa uma chave para identificar o bloco de script, o bloco de script não precisa ser emitido para o fluxo de saída sempre que é solicitado por uma instância de controle de servidor diferente

Todos os blocos de script com os mesmos key valores de parâmetro são considerados duplicados.

Observação

Lembre-se de incluir marcas de comentário HTML ao redor do script para que ele não seja renderizado se o navegador solicitante não der suporte a scripts.

O método RegisterStartupScript foi substituído. Use o RegisterStartupScript método na classe ClientScriptManager em vez disso.

Aplica-se a

Confira também