ScriptManager.RegisterClientScriptBlock Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Registra un bloque de script de cliente con el ScriptManager control para su uso con un control que está dentro de un UpdatePanel control y, a continuación, agrega el bloque de script a la página.
Sobrecargas
| Nombre | Description |
|---|---|
| RegisterClientScriptBlock(Control, Type, String, String, Boolean) |
Registra un bloque de script de cliente con el ScriptManager control para su uso con un control que está dentro de un UpdatePanel control y, a continuación, agrega el bloque de script a la página. |
| RegisterClientScriptBlock(Page, Type, String, String, Boolean) |
Registra un bloque de script de cliente con el ScriptManager control para su uso con un control que está dentro de un UpdatePanel control y, a continuación, agrega el bloque de script a la página. |
RegisterClientScriptBlock(Control, Type, String, String, Boolean)
Registra un bloque de script de cliente con el ScriptManager control para su uso con un control que está dentro de un UpdatePanel control y, a continuación, agrega el bloque de script a la página.
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
Public Shared Sub RegisterClientScriptBlock (control As Control, type As Type, key As String, script As String, addScriptTags As Boolean)
Parámetros
- control
- Control
Control que registra el bloque de script de cliente.
- type
- Type
Tipo del bloque de script de cliente. Normalmente, este parámetro se especifica mediante el typeof operador (C#) o el GetType operador (Visual Basic) para recuperar el tipo del control que registra el script.
- key
- String
Identificador único para el bloque de script.
- script
- String
El script.
- addScriptTags
- Boolean
true para incluir el bloque de script en <script> las etiquetas y </script> ; en caso contrario, false.
Excepciones
El bloque type de script de cliente es null.
O bien
El control que registra el bloque de script es null.
El control que registra el bloque de script no está en el árbol de control de la página.
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
Use el RegisterClientScriptBlock método para registrar un bloque de script de cliente compatible con la representación parcial de páginas y que no tenga dependencias de la biblioteca de Microsoft Ajax. Los bloques de script de cliente registrados mediante 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. Para registrar un bloque de script cada vez que se produce un postback asincrónico, use la RegisterClientScriptBlock(Page, Type, String, String, Boolean) sobrecarga de este método.
Si desea registrar un bloque de script que no pertenece a actualizaciones parciales de páginas y si desea registrar el bloque de script solo una vez durante la representación de página inicial, use el RegisterClientScriptBlock método de la ClientScriptManager clase . Puede obtener una referencia al ClientScriptManager objeto desde la ClientScript propiedad de la página.
Si addScriptTags es true, el RegisterClientScriptBlock método agrega <script> etiquetas alrededor del bloque de script. Pase false si desea crear <script> etiquetas usted mismo, como cuando quiera establecer los atributos de etiquetas específicas <script> . Si addScriptTags es false y el script parámetro contiene varios bloques de script, se produce una excepción.
El RegisterClientScriptBlock método agrega un bloque de script a la página después de la etiqueta de apertura <form> . No se garantiza que los bloques de script sean de salida en el mismo orden en el que están registrados. Si el orden de los bloques de script es importante, concatene los bloques de script en una sola cadena (por ejemplo, mediante el uso del StringBuilder objeto) y regístrelos como un único bloque de script de cliente.
Consulte también
Se aplica a
RegisterClientScriptBlock(Page, Type, String, String, Boolean)
Registra un bloque de script de cliente con el ScriptManager control para su uso con un control que está dentro de un UpdatePanel control y, a continuación, agrega el bloque de script a la página.
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
Public Shared Sub RegisterClientScriptBlock (page As Page, type As Type, key As String, script As String, addScriptTags As Boolean)
Parámetros
- page
- Page
Objeto de página que registra el bloque de script de cliente.
- type
- Type
Tipo del bloque de script de cliente. Normalmente, este parámetro se especifica mediante el typeof operador (C#) o el GetType operador (Visual Basic) para recuperar el tipo del control que registra el script.
- key
- String
Identificador único para el bloque de script.
- script
- String
Script que se va a registrar.
- addScriptTags
- Boolean
true para incluir el bloque de script en <script> las etiquetas y </script> ; en caso contrario, false.
Excepciones
El bloque type de script es null.
O bien
La página que registra el bloque de script es null.
Comentarios
Al registrar un bloque de script mediante este método, el script se representa cada vez que se produce un postback asincrónico. Para registrar un bloque de script para un control que está dentro de un UpdatePanel control para que el script se registre solo cuando se actualice el UpdatePanel control, use la RegisterClientScriptBlock(Control, Type, String, String, Boolean) sobrecarga de este método.
Si desea registrar un bloque de script que no pertenece a actualizaciones parciales de páginas y si desea registrar el bloque de script solo una vez durante la representación de página inicial, use el RegisterClientScriptBlock método de la ClientScriptManager clase . Puede obtener una referencia al ClientScriptManager objeto desde la ClientScript propiedad de la página.