Page.RegisterClientScriptBlock(String, String) Page.RegisterClientScriptBlock(String, String) Page.RegisterClientScriptBlock(String, String) Page.RegisterClientScriptBlock(String, String) Method

Definición

Advertencia

Esta API está ya obsoleta.

Emite bloques de script de cliente para la respuesta.Emits client-side script blocks to the response.

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

Parámetros

key
String String String String

Clave única que identifica un bloque de script.Unique key that identifies a script block.

script
String String String String

Contenido del script que se envía al cliente.Content of script that is sent to the client.

Ejemplos

En el ejemplo de código siguiente se muestra el RegisterClientScriptBlock uso del método junto con IsClientScriptBlockRegistered el método.The following code example demonstrates the use of the RegisterClientScriptBlock method in conjunction with the IsClientScriptBlockRegistered method. Si el bloque ECMAScript en el bloque de declaración de código todavía no se ha registrado, IsClientScriptBlockRegisteredsegún determine, se realiza la RegisterClientScriptBlock llamada.If the ECMAScript in the code declaration block has not already been registered, as determined by IsClientScriptBlockRegistered, the RegisterClientScriptBlock call is made.

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

Comentarios

El script del lado cliente se emite justo después de la etiqueta de apertura Page del elemento <form runat= server> del objeto.The client-side script is emitted just after the opening tag of the Page object's <form runat= server> element. Asegúrese de incluir los elementos de apertura <script> y cierre en torno a la cadena de bloque script de script especificada en el parámetro.Be sure to include opening and closing <script> elements around the script block string specified in the script parameter.

Dado que este método usa una clave para identificar el bloque de script, no es necesario emitir el bloque de script al flujo de salida cada vez que lo solicita una instancia de control de servidor diferente.Because this method uses a key to identify the script block, the script block does not have to be emitted to the output stream each time it is requested by a different server control instance. El uso de una clave también reduce la probabilidad de que los bloques de script de los distintos controles interfieran entre sí.Using a key also decreases the likelihood of different controls' script blocks interfering with each other.

Los bloques de scripts con key los mismos valores de parámetro se consideran duplicados.Any script blocks with the same key parameter values are considered duplicates.

Nota

Recuerde incluir etiquetas de Comentario HTML en torno a su script para que no se represente si el explorador que realiza la solicitud no admite scripts.Remember to include HTML comment tags around your script so that it will not be rendered if the requesting browser does not support scripts.

El método RegisterClientScriptBlock está desusado.The RegisterClientScriptBlock method has been deprecated. Por ello, utilice el método RegisterClientScriptBlock en la clase ClientScriptManager.Use the RegisterClientScriptBlock method in the ClientScriptManager class instead.

Se aplica a