ScriptManager.RegisterClientScriptBlock Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Registra un blocco di script client con il ScriptManager controllo da usare con un controllo che si trova all'interno di un UpdatePanel controllo e quindi aggiunge il blocco di script alla pagina.
Overload
| Nome | Descrizione |
|---|---|
| RegisterClientScriptBlock(Control, Type, String, String, Boolean) |
Registra un blocco di script client con il ScriptManager controllo da usare con un controllo che si trova all'interno di un UpdatePanel controllo e quindi aggiunge il blocco di script alla pagina. |
| RegisterClientScriptBlock(Page, Type, String, String, Boolean) |
Registra un blocco di script client con il ScriptManager controllo da usare con un controllo che si trova all'interno di un UpdatePanel controllo e quindi aggiunge il blocco di script alla pagina. |
RegisterClientScriptBlock(Control, Type, String, String, Boolean)
Registra un blocco di script client con il ScriptManager controllo da usare con un controllo che si trova all'interno di un UpdatePanel controllo e quindi aggiunge il blocco di script alla pagina.
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)
Parametri
- control
- Control
Controllo che registra il blocco di script client.
- type
- Type
Tipo del blocco di script client. Questo parametro viene in genere specificato utilizzando l'operatore typeof (C#) o l'operatore GetType (Visual Basic) per recuperare il tipo del controllo che registra lo script.
- key
- String
Identificatore univoco per il blocco di script.
- script
- String
Script.
- addScriptTags
- Boolean
trueper racchiudere il blocco di script in e </script> tag; in <script> caso contrario, false.
Eccezioni
Il blocco type di script client è null.
oppure
Il controllo che registra il blocco di script è null.
Il controllo che registra il blocco di script non si trova nell'albero dei controlli della pagina.
Esempio
<%@ 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>
Commenti
Si usa il RegisterClientScriptBlock metodo per registrare un blocco di script client compatibile con il rendering a pagina parziale e che non ha dipendenze di Microsoft Ajax Library. I blocchi di script client registrati tramite questo metodo vengono inviati alla pagina solo quando control rappresenta un controllo che si trova all'interno di un UpdatePanel controllo da aggiornare. Per registrare un blocco di script ogni volta che si verifica un postback asincrono, usare l'overload RegisterClientScriptBlock(Page, Type, String, String, Boolean) di questo metodo.
Se si desidera registrare un blocco di script che non riguarda gli aggiornamenti a pagina parziale e se si desidera registrare il blocco di script una sola volta durante il rendering iniziale della pagina, usare il RegisterClientScriptBlock metodo della ClientScriptManager classe . È possibile ottenere un riferimento all'oggetto ClientScriptManager dalla ClientScript proprietà della pagina.
Se addScriptTags è true, il RegisterClientScriptBlock metodo aggiunge <script> tag intorno al blocco di script. Passare false se si vogliono creare <script> tag manualmente, ad esempio quando si desidera impostare gli attributi di tag specifici <script> . Se addScriptTags è false e il script parametro contiene più blocchi di script, viene generata un'eccezione.
Il RegisterClientScriptBlock metodo aggiunge un blocco di script alla pagina dopo il tag di apertura <form> . Non è garantito che i blocchi di script vengano restituiti nello stesso ordine in cui vengono registrati. Se l'ordine dei blocchi di script è importante, concatenare i blocchi di script in una singola stringa ( ad esempio usando l'oggetto StringBuilder ) e quindi registrarli come blocco di script client singolo.
Vedi anche
Si applica a
RegisterClientScriptBlock(Page, Type, String, String, Boolean)
Registra un blocco di script client con il ScriptManager controllo da usare con un controllo che si trova all'interno di un UpdatePanel controllo e quindi aggiunge il blocco di script alla pagina.
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)
Parametri
- page
- Page
Oggetto pagina che registra il blocco di script client.
- type
- Type
Tipo del blocco di script client. Questo parametro viene in genere specificato utilizzando l'operatore typeof (C#) o l'operatore GetType (Visual Basic) per recuperare il tipo del controllo che registra lo script.
- key
- String
Identificatore univoco per il blocco di script.
- script
- String
Script da registrare.
- addScriptTags
- Boolean
trueper racchiudere il blocco di script in e </script> tag; in <script> caso contrario, false.
Eccezioni
Il blocco type di script è null.
oppure
La pagina che registra il blocco di script è null.
Commenti
Quando si registra un blocco di script usando questo metodo, viene eseguito il rendering dello script ogni volta che si verifica un postback asincrono. Per registrare un blocco di script per un controllo all'interno di un UpdatePanel controllo in modo che lo script venga registrato solo quando il UpdatePanel controllo viene aggiornato, utilizzare l'overload RegisterClientScriptBlock(Control, Type, String, String, Boolean) di questo metodo.
Se si desidera registrare un blocco di script che non riguarda gli aggiornamenti a pagina parziale e se si desidera registrare il blocco di script una sola volta durante il rendering iniziale della pagina, usare il RegisterClientScriptBlock metodo della ClientScriptManager classe . È possibile ottenere un riferimento all'oggetto ClientScriptManager dalla ClientScript proprietà della pagina.