ScriptManager.RegisterClientScriptBlock Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zaregistruje blok klientského skriptu ovládacím ScriptManager prvku pro použití s ovládacím prvku, který je uvnitř UpdatePanel ovládacího prvku, a pak přidá blok skriptu na stránku.
Přetížení
RegisterClientScriptBlock(Control, Type, String, String, Boolean) |
Zaregistruje blok klientského skriptu ovládacím ScriptManager prvku pro použití s ovládacím prvku, který je uvnitř UpdatePanel ovládacího prvku, a pak přidá blok skriptu na stránku. |
RegisterClientScriptBlock(Page, Type, String, String, Boolean) |
Zaregistruje blok klientského skriptu ovládacím ScriptManager prvku pro použití s ovládacím prvku, který je uvnitř UpdatePanel ovládacího prvku, a pak přidá blok skriptu na stránku. |
RegisterClientScriptBlock(Control, Type, String, String, Boolean)
Zaregistruje blok klientského skriptu ovládacím ScriptManager prvku pro použití s ovládacím prvku, který je uvnitř UpdatePanel ovládacího prvku, a pak přidá blok skriptu na stránku.
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)
Parametry
- control
- Control
Ovládací prvek, který registruje blok klientského skriptu.
- type
- Type
Typ bloku klientského skriptu. Tento parametr je obvykle určen pomocí operátoru typeof
(C#) nebo GetType
operátoru (Visual Basic) k načtení typu ovládacího prvku, který skript registruje.
- key
- String
Jedinečný identifikátor bloku skriptu.
- script
- String
Skript.
- addScriptTags
- Boolean
true
k uzavření bloku skriptu do <script>
a </script>
značek; v opačném případě false
.
Výjimky
Blok type
klientského skriptu je null
.
-nebo-
Ovládací prvek, který registruje blok skriptu, je null
.
Ovládací prvek, který registruje blok skriptu, není ve stromu ovládacích prvků stránky.
Příklady
<%@ 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>
Poznámky
Tuto metodu RegisterClientScriptBlock použijete k registraci bloku klientského skriptu, který je kompatibilní s částečným vykreslováním stránek a který nemá žádné závislosti knihovny Microsoft Ajax Library. Bloky klientského skriptu registrované pomocí této metody se odesílají na stránku pouze v případě control
, že představuje ovládací prvek uvnitř UpdatePanel ovládacího prvku, který se aktualizuje. Pokud chcete zaregistrovat blok skriptu pokaždé, když dojde k asynchronnímu postbacku, použijte RegisterClientScriptBlock(Page, Type, String, String, Boolean) přetížení této metody.
Chcete-li zaregistrovat blok skriptu, který se netýká částečných aktualizací stránky, a pokud chcete při počátečním vykreslování stránky zaregistrovat blok skriptu pouze jednou, použijte RegisterClientScriptBlock metodu ClientScriptManager třídy. Odkaz na ClientScriptManager objekt můžete získat z ClientScript vlastnosti stránky.
Pokud addScriptTags
ano true
, RegisterClientScriptBlock metoda přidá <script>
značky kolem bloku skriptu. Předejte false
, pokud chcete vytvořit <script>
značky sami, například když chcete nastavit atributy konkrétních <script>
značek. Pokud addScriptTags
je false
a script
parametr obsahuje více bloků skriptu, vyvolá se výjimka.
Metoda RegisterClientScriptBlock přidá blok skriptu na stránku za levou <form>
značku. Bloky skriptů nejsou zaručeny, že budou výstupy ve stejném pořadí, v jakém jsou zaregistrované. Pokud je pořadí bloků skriptu důležité, zřetězení bloků skriptu do jednoho řetězce (například pomocí objektu StringBuilder ) a pak je zaregistrujte jako jeden blok klientského skriptu.
Viz také
Platí pro
RegisterClientScriptBlock(Page, Type, String, String, Boolean)
Zaregistruje blok klientského skriptu ovládacím ScriptManager prvku pro použití s ovládacím prvku, který je uvnitř UpdatePanel ovládacího prvku, a pak přidá blok skriptu na stránku.
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)
Parametry
- page
- Page
Objekt stránky, který registruje blok klientského skriptu.
- type
- Type
Typ bloku klientského skriptu. Tento parametr je obvykle určen pomocí operátoru typeof
(C#) nebo GetType
operátoru (Visual Basic) k načtení typu ovládacího prvku, který skript registruje.
- key
- String
Jedinečný identifikátor bloku skriptu.
- script
- String
Skript, který se má zaregistrovat.
- addScriptTags
- Boolean
true
k uzavření bloku skriptu do <script>
a </script>
značek; v opačném případě false
.
Výjimky
Blok type
skriptu je null
.
-nebo-
Stránka, která registruje blok skriptu, je null
.
Poznámky
Když pomocí této metody zaregistrujete blok skriptu, skript se vykreslí pokaždé, když dojde k asynchronnímu postbacku. Chcete-li zaregistrovat blok skriptu pro ovládací prvek, který je uvnitř UpdatePanel ovládacího prvku, aby byl skript registrován pouze při UpdatePanel aktualizaci ovládacího prvku, použijte RegisterClientScriptBlock(Control, Type, String, String, Boolean) přetížení této metody.
Chcete-li zaregistrovat blok skriptu, který se netýká částečných aktualizací stránky, a pokud chcete při počátečním vykreslování stránky zaregistrovat blok skriptu pouze jednou, použijte RegisterClientScriptBlock metodu ClientScriptManager třídy. Odkaz na ClientScriptManager objekt můžete získat z ClientScript vlastnosti stránky.