ScriptManager.RegisterClientScriptBlock Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Registreert een clientscriptblok met het ScriptManager besturingselement voor gebruik met een besturingselement dat zich in een UpdatePanel besturingselement bevindt en voegt vervolgens het scriptblok toe aan de pagina.
Overloads
| Name | Description |
|---|---|
| RegisterClientScriptBlock(Control, Type, String, String, Boolean) |
Registreert een clientscriptblok met het ScriptManager besturingselement voor gebruik met een besturingselement dat zich in een UpdatePanel besturingselement bevindt en voegt vervolgens het scriptblok toe aan de pagina. |
| RegisterClientScriptBlock(Page, Type, String, String, Boolean) |
Registreert een clientscriptblok met het ScriptManager besturingselement voor gebruik met een besturingselement dat zich in een UpdatePanel besturingselement bevindt en voegt vervolgens het scriptblok toe aan de pagina. |
RegisterClientScriptBlock(Control, Type, String, String, Boolean)
Registreert een clientscriptblok met het ScriptManager besturingselement voor gebruik met een besturingselement dat zich in een UpdatePanel besturingselement bevindt en voegt vervolgens het scriptblok toe aan de 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)
Parameters
- control
- Control
Het besturingselement dat het clientscriptblok registreert.
- type
- Type
Het type clientscriptblok. Deze parameter wordt meestal opgegeven met behulp van de operator typeof (C#) of de operator GetType (Visual Basic) om het type besturingselement op te halen dat het script registreert.
- key
- String
Een unieke id voor het scriptblok.
- script
- String
Het script.
- addScriptTags
- Boolean
trueom het scriptblok in <script> te sluiten en </script> tags in te sluiten; anders. false
Uitzonderingen
Het clientscriptblok type is null.
– of –
Het besturingselement dat het scriptblok registreert, is null.
Het besturingselement dat het scriptblok registreert, bevindt zich niet in de besturingsstructuur van de pagina.
Voorbeelden
<%@ 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>
Opmerkingen
U gebruikt de methode RegisterClientScriptBlock om een clientscriptblok te registreren dat compatibel is met het weergeven van gedeeltelijke pagina's en die geen Microsoft Ajax-bibliotheekafhankelijkheden heeft. Clientscriptblokken die zijn geregistreerd met behulp van deze methode, worden alleen naar de pagina verzonden wanneer control het een besturingselement vertegenwoordigt dat zich in een UpdatePanel besturingselement bevindt dat wordt bijgewerkt. Als u een scriptblok wilt registreren telkens wanneer een asynchrone postback optreedt, gebruikt u de RegisterClientScriptBlock(Page, Type, String, String, Boolean) overbelasting van deze methode.
Als u een scriptblok wilt registreren dat niet betrekking heeft op updates van gedeeltelijke pagina's en als u het scriptblok slechts één keer wilt registreren tijdens de eerste paginaweergave, gebruikt u de RegisterClientScriptBlock methode van de ClientScriptManager klasse. U kunt een verwijzing naar het ClientScriptManager object ophalen uit de ClientScript eigenschap van de pagina.
Als addScriptTags dat het istrue, voegt <script> de RegisterClientScriptBlock methode tags toe rond het scriptblok. Geef false door als u zelf tags wilt maken <script> , bijvoorbeeld wanneer u de kenmerken van specifieke <script> tags wilt instellen. Als addScriptTags dat het is false en de script parameter meerdere scriptblokken bevat, wordt er een uitzondering gegenereerd.
Met RegisterClientScriptBlock de methode wordt een scriptblok aan de pagina toegevoegd na het openen <form> van de tag. De scriptblokken worden niet gegarandeerd uitgevoerd in dezelfde volgorde waarin ze zijn geregistreerd. Als de volgorde van de scriptblokken belangrijk is, voegt u de scriptblokken samen in één tekenreeks (bijvoorbeeld met behulp van het StringBuilder object) en registreert u deze vervolgens als één clientscriptblok.
Zie ook
Van toepassing op
RegisterClientScriptBlock(Page, Type, String, String, Boolean)
Registreert een clientscriptblok met het ScriptManager besturingselement voor gebruik met een besturingselement dat zich in een UpdatePanel besturingselement bevindt en voegt vervolgens het scriptblok toe aan de 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)
Parameters
- page
- Page
Het paginaobject dat het clientscriptblok registreert.
- type
- Type
Het type clientscriptblok. Deze parameter wordt meestal opgegeven met behulp van de operator typeof (C#) of de operator GetType (Visual Basic) om het type besturingselement op te halen dat het script registreert.
- key
- String
Een unieke id voor het scriptblok.
- script
- String
Het script dat moet worden geregistreerd.
- addScriptTags
- Boolean
trueom het scriptblok in <script> te sluiten en </script> tags in te sluiten; anders. false
Uitzonderingen
Het scriptblok type is null.
– of –
De pagina die het scriptblok registreert, is null.
Opmerkingen
Wanneer u een scriptblok registreert met behulp van deze methode, wordt het script telkens weergegeven wanneer een asynchrone postback plaatsvindt. Als u een scriptblok wilt registreren voor een besturingselement dat zich in een UpdatePanel besturingselement bevindt, zodat het script alleen wordt geregistreerd wanneer het UpdatePanel besturingselement wordt bijgewerkt, gebruikt u de RegisterClientScriptBlock(Control, Type, String, String, Boolean) overbelasting van deze methode.
Als u een scriptblok wilt registreren dat niet betrekking heeft op updates van gedeeltelijke pagina's en als u het scriptblok slechts één keer wilt registreren tijdens de eerste paginaweergave, gebruikt u de RegisterClientScriptBlock methode van de ClientScriptManager klasse. U kunt een verwijzing naar het ClientScriptManager object ophalen uit de ClientScript eigenschap van de pagina.