ScriptManager.RegisterClientScriptBlock Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Regista um bloco de script cliente com o ScriptManager controlo para uso com um controlo que está dentro de um UpdatePanel controlo, e depois adiciona o bloco de script à página.
Sobrecargas
| Name | Description |
|---|---|
| RegisterClientScriptBlock(Control, Type, String, String, Boolean) |
Regista um bloco de script cliente com o ScriptManager controlo para uso com um controlo que está dentro de um UpdatePanel controlo, e depois adiciona o bloco de script à página. |
| RegisterClientScriptBlock(Page, Type, String, String, Boolean) |
Regista um bloco de script cliente com o ScriptManager controlo para uso com um controlo que está dentro de um UpdatePanel controlo, e depois adiciona o bloco de script à página. |
RegisterClientScriptBlock(Control, Type, String, String, Boolean)
Regista um bloco de script cliente com o ScriptManager controlo para uso com um controlo que está dentro de um UpdatePanel controlo, e depois adiciona o bloco de script à 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
O controlo que regista o bloco de script cliente.
- type
- Type
O tipo do bloco de script do cliente. Este parâmetro é normalmente especificado usando o operador typeof (C#) ou o operador GetType (Visual Basic) para recuperar o tipo do controlo que está a registar o script.
- key
- String
Um identificador único para o bloco de script.
- script
- String
O roteiro.
- addScriptTags
- Boolean
true para encerrar o bloco de script em <script> e </script> etiquetas; caso contrário, false.
Exceções
O bloco type de script cliente é null.
-ou-
O controlo que regista o bloco de script é null.
O controlo que regista o bloco de script não está na árvore de controlo da página.
Exemplos
<%@ 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>
Observações
Utiliza-se o método RegisterClientScriptBlock para registar um bloco de script cliente compatível com renderização parcial de página e que não tenha dependências Microsoft da Ajax Library. Os blocos de script cliente registados através deste método são enviados para a página apenas quando control representam um controlo que está dentro de um UpdatePanel controlo que está a ser atualizado. Para registar um bloco de script sempre que ocorre um postback assíncrono, use a RegisterClientScriptBlock(Page, Type, String, String, Boolean) sobrecarga deste método.
Se quiser registar um bloco de script que não diz respeito a atualizações parciais de página, e se quiser registar o bloco de script apenas uma vez durante a renderização inicial da página, use o RegisterClientScriptBlock método da ClientScriptManager classe. Podes obter uma referência ao ClientScriptManager objeto a partir da ClientScript propriedade da página.
Se addScriptTags for , o RegisterClientScriptBlock método adiciona <script> etiquetas em redor do bloco truede script. Passe false se quiser criar <script> etiquetas por si próprio, como quando quer definir os atributos de etiquetas específicas <script> . Se addScriptTags for false e o script parâmetro contiver múltiplos blocos de script, é lançada uma exceção.
O RegisterClientScriptBlock método adiciona um bloco de script à página após a etiqueta de abertura <form> . Os blocos de script não têm garantia de serem produzidos na mesma ordem em que são registados. Se a ordem dos blocos de script for importante, concatene os seus blocos de script numa única cadeia de caracteres (por exemplo, usando o StringBuilder objeto) e depois registe-os como um único bloco de script cliente.
Ver também
Aplica-se a
RegisterClientScriptBlock(Page, Type, String, String, Boolean)
Regista um bloco de script cliente com o ScriptManager controlo para uso com um controlo que está dentro de um UpdatePanel controlo, e depois adiciona o bloco de script à 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
O objeto de página que está a registar o bloco de script do cliente.
- type
- Type
O tipo do bloco de script do cliente. Este parâmetro é normalmente especificado usando o operador typeof (C#) ou o operador GetType (Visual Basic) para recuperar o tipo do controlo que está a registar o script.
- key
- String
Um identificador único para o bloco de script.
- script
- String
O guião para registar.
- addScriptTags
- Boolean
true para encerrar o bloco de script em <script> e </script> etiquetas; caso contrário, false.
Exceções
O bloco type de script é null.
-ou-
A página que regista o bloco de script é null.
Observações
Quando regista um bloco de script usando este método, o script é renderizado sempre que ocorre um postback assíncrono. Para registar um bloco de script para um controlo que está dentro de um UpdatePanel controlo, de modo a que esse script só seja registado quando o UpdatePanel controlo é atualizado, use a RegisterClientScriptBlock(Control, Type, String, String, Boolean) sobrecarga deste método.
Se quiser registar um bloco de script que não diz respeito a atualizações parciais de página, e se quiser registar o bloco de script apenas uma vez durante a renderização inicial da página, use o RegisterClientScriptBlock método da ClientScriptManager classe. Podes obter uma referência ao ClientScriptManager objeto a partir da ClientScript propriedade da página.