ScriptManager.RegisterClientScriptBlock ScriptManager.RegisterClientScriptBlock ScriptManager.RegisterClientScriptBlock Method

Definición

Registra un bloque de script de cliente con el control ScriptManager para usarlo con un control que está dentro de un control UpdatePanel y, a continuación, agrega el bloque de script a la página.Registers a client script block with the ScriptManager control for use with a control that is inside an UpdatePanel control, and then adds the script block to the page.

Sobrecargas

RegisterClientScriptBlock(Page, Type, String, String, Boolean) RegisterClientScriptBlock(Page, Type, String, String, Boolean) RegisterClientScriptBlock(Page, Type, String, String, Boolean)

Registra un bloque de script de cliente con el control ScriptManager para usarlo con un control que está dentro de un control UpdatePanel y, a continuación, agrega el bloque de script a la página.Registers a client script block with the ScriptManager control for use with a control that is inside an UpdatePanel control, and then adds the script block to the page.

RegisterClientScriptBlock(Control, Type, String, String, Boolean) RegisterClientScriptBlock(Control, Type, String, String, Boolean) RegisterClientScriptBlock(Control, Type, String, String, Boolean)

Registra un bloque de script de cliente con el control ScriptManager para usarlo con un control que está dentro de un control UpdatePanel y, a continuación, agrega el bloque de script a la página.Registers a client script block with the ScriptManager control for use with a control that is inside an UpdatePanel control, and then adds the script block to the page.

RegisterClientScriptBlock(Page, Type, String, String, Boolean) RegisterClientScriptBlock(Page, Type, String, String, Boolean) RegisterClientScriptBlock(Page, Type, String, String, Boolean)

Registra un bloque de script de cliente con el control ScriptManager para usarlo con un control que está dentro de un control UpdatePanel y, a continuación, agrega el bloque de script a la página.Registers a client script block with the ScriptManager control for use with a control that is inside an UpdatePanel control, and then adds the script block to the page.

public:
 static void RegisterClientScriptBlock(System::Web::UI::Page ^ page, Type ^ type, System::String ^ key, System::String ^ script, bool addScriptTags);
public static void RegisterClientScriptBlock (System.Web.UI.Page page, Type type, string key, string script, bool addScriptTags);
static member RegisterClientScriptBlock : System.Web.UI.Page * Type * string * string * bool -> unit

Parámetros

page
Page Page Page

Objeto de página que registra el bloque de script de cliente.The page object that is registering the client script block.

type
Type Type Type

Tipo del bloque de script de cliente.The type of the client script block. Este parámetro se suele especificar mediante el uso del operador typeof (C#) o GetType (Visual Basic) para recuperar el tipo del control que registra el script.This parameter is usually specified by using the typeof operator (C#) or the GetType operator (Visual Basic) to retrieve the type of the control that is registering the script.

key
String String String

Identificador único del bloque de script.A unique identifier for the script block.

script
String String String

Script que se va a registrar.The script to register.

addScriptTags
Boolean Boolean Boolean

true para incluir el bloque de script entre etiquetas <script> y </script>; de lo contrario, false.true to enclose the script block in <script> and </script> tags; otherwise, false.

Excepciones

El valor de type para el bloque de script es null.The script block type is null.

O bien-or- La página que registra el bloque de script es null.The page that is registering the script block is null.

Comentarios

Al registrar un bloque de script con este método, el script se representa cada vez que se produce un postback asincrónico.When you register a script block by using this method, the script is rendered every time that an asynchronous postback occurs. Para registrar un bloque de script para un control que está dentro de un UpdatePanel controlar de manera que se registra el script solo cuando el UpdatePanel control se actualiza, use el RegisterClientScriptBlock(Control, Type, String, String, Boolean) sobrecarga de este método.To register a script block for a control that is inside an UpdatePanel control so that script is registered only when the UpdatePanel control is updated, use the RegisterClientScriptBlock(Control, Type, String, String, Boolean) overload of this method.

Si desea registrar un bloque de script que no pertenecen a las actualizaciones parciales de página y, si desea registrar el bloque de script sólo una vez durante la representación de página inicial, utilice el RegisterClientScriptBlock método de la ClientScriptManager clase.If you want to register a script block that does not pertain to partial-page updates, and if you want to register the script block only one time during initial page rendering, use the RegisterClientScriptBlock method of the ClientScriptManager class. Puede obtener una referencia a la ClientScriptManager objeto desde el ClientScript propiedad de la página.You can get a reference to the ClientScriptManager object from the ClientScript property of the page.

Consulte también:

RegisterClientScriptBlock(Control, Type, String, String, Boolean) RegisterClientScriptBlock(Control, Type, String, String, Boolean) RegisterClientScriptBlock(Control, Type, String, String, Boolean)

Registra un bloque de script de cliente con el control ScriptManager para usarlo con un control que está dentro de un control UpdatePanel y, a continuación, agrega el bloque de script a la página.Registers a client script block with the ScriptManager control for use with a control that is inside an UpdatePanel control, and then adds the script block to the page.

public:
 static void RegisterClientScriptBlock(System::Web::UI::Control ^ control, Type ^ type, System::String ^ key, System::String ^ script, bool addScriptTags);
public static void RegisterClientScriptBlock (System.Web.UI.Control control, Type type, string key, string script, bool addScriptTags);
static member RegisterClientScriptBlock : System.Web.UI.Control * Type * string * string * bool -> unit

Parámetros

control
Control Control Control

Control que registra el bloque de script de cliente.The control that is registering the client script block.

type
Type Type Type

Tipo del bloque de script de cliente.The type of the client script block. Este parámetro se suele especificar mediante el uso del operador typeof (C#) o GetType (Visual Basic) para recuperar el tipo del control que registra el script.This parameter is usually specified by using the typeof operator (C#) or the GetType operator (Visual Basic) to retrieve the type of the control that is registering the script.

key
String String String

Identificador único del bloque de script.A unique identifier for the script block.

script
String String String

Script.The script.

addScriptTags
Boolean Boolean Boolean

true para incluir el bloque de script entre etiquetas <script> y </script>; de lo contrario, false.true to enclose the script block in <script> and </script> tags; otherwise, false.

Excepciones

El valor de type para el bloque de script de cliente es null.The client script block type is null.

O bien-or- El control que registra el bloque de script es null.The control that is registering the script block is null.

El control que registra el bloque de script no está en el árbol de controles de la página.The control that is registering the script block is not in the page's control tree.

Ejemplos


<%@ 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">
    protected void Page_PreRender(object sender, EventArgs e)
    {
        string script = @"
        function ToggleItem(id)
          {
            var elem = $get('div'+id);
            if (elem) 
            {
              if (elem.style.display != 'block') 
              {
                elem.style.display = 'block';
                elem.style.visibility = 'visible';
              } 
              else
              {
                elem.style.display = 'none';
                elem.style.visibility = 'hidden';
              }
            }
          }
        ";

        ScriptManager.RegisterClientScriptBlock(
            this,
            typeof(Page),
            "ToggleScript",
            script,
            true);
    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>ScriptManager RegisterClientScriptInclude</title>
</head>
<body>
    <form id="Form1" runat="server">
        <div>
            <br />
            <asp:ScriptManager ID="ScriptManager1" 
                                 EnablePartialRendering="true"
                                 runat="server">
            </asp:ScriptManager>
            <asp:UpdatePanel ID="UpdatePanel1" 
                               UpdateMode="Conditional"
                               runat="server">
                <ContentTemplate>
                    <asp:XmlDataSource ID="XmlDataSource1"
                                       DataFile="~/App_Data/Contacts.xml"
                                       XPath="Contacts/Contact"
                                       runat="server"/>
                    <asp:DataList ID="DataList1" DataSourceID="XmlDataSource1"
                        BackColor="White" BorderColor="#E7E7FF" BorderStyle="None"
                        BorderWidth="1px" CellPadding="3" GridLines="Horizontal"
                        runat="server">
                        <ItemTemplate>
                            <div style="font-size:larger; font-weight:bold; cursor:pointer;" 
                                 onclick='ToggleItem(<%# Eval("ID") %>);'>
                                <span><%# Eval("Name") %></span>
                            </div>
                            <div id='div<%# Eval("ID") %>' 
                                 style="display: block; visibility: visible;">
                                <span><%# Eval("Company") %></span>
                                <br />
                                <a href='<%# Eval("URL") %>' 
                                   target="_blank" 
                                   title='<%# Eval("Name", "Link to the {0} Web site") %>'>
                                   <%# Eval("URL") %></a>
                                </asp:LinkButton>
                                <hr />
                            </div>
                        </ItemTemplate>
                        <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
                        <SelectedItemStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
                        <AlternatingItemStyle BackColor="#F7F7F7" />
                        <ItemStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
                        <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
                    </asp:DataList>
                </ContentTemplate>
            </asp:UpdatePanel>
        </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">

    Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim script As String
        script = _
        "function ToggleItem(id)" & _
        "  {" & _
        "    var elem = $get('div'+id);" & _
        "    if (elem)" & _
        "    {" & _
        "      if (elem.style.display != 'block') " & _
        "      {" & _
        "        elem.style.display = 'block';" & _
        "        elem.style.visibility = 'visible';" & _
        "      } " & _
        "      else" & _
        "      {" & _
        "        elem.style.display = 'none';" & _
        "        elem.style.visibility = 'hidden';" & _
        "      }" & _
        "    }" & _
        "  }"
        
        ScriptManager.RegisterClientScriptBlock( _
            Me, _
            GetType(Page), _
            "ToggleScript", _
            script, _
            True)

    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>ScriptManager RegisterClientScriptInclude</title>
</head>
<body>
    <form id="Form1" runat="server">
        <div>
            <br />
            <asp:ScriptManager ID="ScriptManager1" 
                                 EnablePartialRendering="true"
                                 runat="server">
            </asp:ScriptManager>
            <asp:UpdatePanel ID="UpdatePanel1" 
                               UpdateMode="Conditional"
                               runat="server">
                <ContentTemplate>
                    <asp:XmlDataSource ID="XmlDataSource1"
                                       DataFile="~/App_Data/Contacts.xml"
                                       XPath="Contacts/Contact"
                                       runat="server"/>
                    <asp:DataList ID="DataList1" DataSourceID="XmlDataSource1"
                        BackColor="White" BorderColor="#E7E7FF" BorderStyle="None"
                        BorderWidth="1px" CellPadding="3" GridLines="Horizontal"
                        runat="server">
                        <ItemTemplate>
                            <div style="font-size:larger; font-weight:bold; cursor:pointer;" 
                                 onclick='ToggleItem(<%# Eval("ID") %>);'>
                                <span><%# Eval("Name") %></span>
                            </div>
                            <div id='div<%# Eval("ID") %>' 
                                 style="display: block; visibility: visible;">
                                <span><%# Eval("Company") %></span>
                                <br />
                                <a href='<%# Eval("URL") %>' 
                                   target="_blank" 
                                   title='<%# Eval("Name", "Link to the {0} Web site") %>'>
                                   <%# Eval("URL") %></a>
                                </asp:LinkButton>
                                <hr />
                            </div>
                        </ItemTemplate>
                        <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
                        <SelectedItemStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
                        <AlternatingItemStyle BackColor="#F7F7F7" />
                        <ItemStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
                        <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
                    </asp:DataList>
                </ContentTemplate>
            </asp:UpdatePanel>
        </div>
    </form>
</body>
</html>
<Contacts>
    <Contact id="1" 
             Name="Aaber, Jesper" 
             Company="A. Data Corporation" 
             URL="http://www.adatum.com/"/>
    <Contact id="2" 
             Name="Canel, Fabrice" 
             Company="Coho Winery" 
             URL="http://www.cohowinery.com/"/>
    <Contact id="3" 
             Name="Heloo, Waleed" 
             Company="Contoso, Ltd" 
             URL="http://www.contoso.com/"/>
    <Contact id="4" 
             Name="Rovik, Dag" 
             Company="Wingtip Toys" 
             URL="http://www.wingtiptoys.com/"/>
</Contacts>

Comentarios

Usa el RegisterClientScriptBlock método para registrar un bloque de script de cliente que sea compatible con la representación parcial de página y que no tiene ninguna dependencia de Microsoft Ajax Library.You use the RegisterClientScriptBlock method to register a client script block that is compatible with partial-page rendering and that has no Microsoft Ajax Library dependencies. Bloques de script de cliente que están registrados con este método se envían a la página solo cuando control representa un control que está dentro de un UpdatePanel control que se está actualizando.Client script blocks that are registered by using this method are sent to the page only when control represents a control that is inside an UpdatePanel control that is being updated. Para registrar un bloque de script cada vez que se produce un postback asincrónico, utilice el RegisterClientScriptBlock(Page, Type, String, String, Boolean) sobrecarga de este método.To register a script block every time that an asynchronous postback occurs, use the RegisterClientScriptBlock(Page, Type, String, String, Boolean) overload of this method.

Si desea registrar un bloque de script que no pertenecen a las actualizaciones parciales de página y, si desea registrar el bloque de script sólo una vez durante la representación de página inicial, utilice el RegisterClientScriptBlock método de la ClientScriptManager clase.If you want to register a script block that does not pertain to partial-page updates, and if you want to register the script block only one time during initial page rendering, use the RegisterClientScriptBlock method of the ClientScriptManager class. Puede obtener una referencia a la ClientScriptManager objeto desde el ClientScript propiedad de la página.You can get a reference to the ClientScriptManager object from the ClientScript property of the page.

Si addScriptTags es true, RegisterClientScriptBlock método agrega <script> etiquetas a ambos lados del bloque de script.If addScriptTags is true, the RegisterClientScriptBlock method adds <script> tags around the script block. Pasar false si desea crear <script> etiquetas usted mismo, por ejemplo, si desea establecer los atributos de específico <script> etiquetas.Pass false if you want to create <script> tags yourself, such as when you want to set the attributes of specific <script> tags. Si addScriptTags es false y script parámetro contiene varios bloques de scripts, se produce una excepción.If addScriptTags is false and the script parameter contains multiple script blocks, an exception is thrown.

El RegisterClientScriptBlock método agrega un bloque de script a la página después de la apertura <form> etiqueta.The RegisterClientScriptBlock method adds a script block to the page after the opening <form> tag. No se garantiza que los bloques de script que se generan en el mismo orden en que se registran.The script blocks are not guaranteed to be output in the same order in which they are registered. Si es importante el orden de los bloques de script, concatenar los bloques de script en una sola cadena (por ejemplo, mediante el StringBuilder objeto) y, a continuación, registrarlos como un bloque de script de cliente único.If the order of the script blocks is important, concatenate your script blocks into a single string (for example, by using the StringBuilder object), and then register them as a single client script block.

Consulte también:

Se aplica a