ScriptManager.RegisterClientScriptBlock Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Registriert einen Clientskriptblock mit dem Steuerelement für die ScriptManager Verwendung mit einem Steuerelement, das sich innerhalb eines UpdatePanel Steuerelements befindet, und fügt dann den Skriptblock zur Seite hinzu.
Überlädt
| Name | Beschreibung |
|---|---|
| RegisterClientScriptBlock(Control, Type, String, String, Boolean) |
Registriert einen Clientskriptblock mit dem Steuerelement für die ScriptManager Verwendung mit einem Steuerelement, das sich innerhalb eines UpdatePanel Steuerelements befindet, und fügt dann den Skriptblock zur Seite hinzu. |
| RegisterClientScriptBlock(Page, Type, String, String, Boolean) |
Registriert einen Clientskriptblock mit dem Steuerelement für die ScriptManager Verwendung mit einem Steuerelement, das sich innerhalb eines UpdatePanel Steuerelements befindet, und fügt dann den Skriptblock zur Seite hinzu. |
RegisterClientScriptBlock(Control, Type, String, String, Boolean)
Registriert einen Clientskriptblock mit dem Steuerelement für die ScriptManager Verwendung mit einem Steuerelement, das sich innerhalb eines UpdatePanel Steuerelements befindet, und fügt dann den Skriptblock zur Seite hinzu.
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)
Parameter
- control
- Control
Das Steuerelement, das den Clientskriptblock registriert.
- type
- Type
Der Typ des Clientskriptblocks. Dieser Parameter wird in der Regel mithilfe des typeof Operators (C#) oder des GetType Operators (Visual Basic) angegeben, um den Typ des Steuerelements abzurufen, das das Skript registriert.
- key
- String
Ein eindeutiger Bezeichner für den Skriptblock.
- script
- String
Das Skript.
- addScriptTags
- Boolean
trueum den Skriptblock in und </script> Tags einzuschließen<script>; falseandernfalls .
Ausnahmen
Der Clientskriptblock type ist null.
- oder -
Das Steuerelement, das den Skriptblock registriert, ist null.
Das Steuerelement, das den Skriptblock registriert, befindet sich nicht in der Steuerelementstruktur der Seite.
Beispiele
<%@ 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>
Hinweise
Sie verwenden die RegisterClientScriptBlock Methode, um einen Clientskriptblock zu registrieren, der mit teilweisem Seitenrendering kompatibel ist und keine Abhängigkeiten der Microsoft Ajax-Bibliothek aufweist. Clientskriptblöcke, die mithilfe dieser Methode registriert werden, werden nur dann an die Seite gesendet, wenn control ein Steuerelement in einem UpdatePanel Steuerelement dargestellt wird, das aktualisiert wird. Wenn Sie einen Skriptblock jedes Mal registrieren möchten, wenn ein asynchroner Postback auftritt, verwenden Sie die RegisterClientScriptBlock(Page, Type, String, String, Boolean) Überladung dieser Methode.
Wenn Sie einen Skriptblock registrieren möchten, der sich nicht auf Teilseitenaktualisierungen bezieht, und wenn Sie den Skriptblock nur einmal während des anfänglichen Seitenrenderings registrieren möchten, verwenden Sie die RegisterClientScriptBlock Methode der ClientScriptManager Klasse. Sie können einen Verweis auf das ClientScriptManager Objekt aus der ClientScript Eigenschaft der Seite abrufen.
Wenn addScriptTags jatrue, fügt <script> die RegisterClientScriptBlock Methode Tags um den Skriptblock hinzu. Übergeben false Sie, wenn Sie Tags selbst erstellen <script> möchten, z. B. wenn Sie die Attribute bestimmter <script> Tags festlegen möchten. Wenn addScriptTags der falsescript Parameter mehrere Skriptblöcke enthält, wird eine Ausnahme ausgelöst.
Die RegisterClientScriptBlock Methode fügt der Seite nach dem öffnenden <form> Tag einen Skriptblock hinzu. Die Skriptblöcke werden nicht garantiert in derselben Reihenfolge ausgegeben, in der sie registriert sind. Wenn die Reihenfolge der Skriptblöcke wichtig ist, verketten Sie Ihre Skriptblöcke in eine einzelne Zeichenfolge (z. B. mithilfe des StringBuilder Objekts), und registrieren Sie sie dann als einzelnen Clientskriptblock.
Weitere Informationen
Gilt für:
RegisterClientScriptBlock(Page, Type, String, String, Boolean)
Registriert einen Clientskriptblock mit dem Steuerelement für die ScriptManager Verwendung mit einem Steuerelement, das sich innerhalb eines UpdatePanel Steuerelements befindet, und fügt dann den Skriptblock zur Seite hinzu.
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)
Parameter
- page
- Page
Das Seitenobjekt, das den Clientskriptblock registriert.
- type
- Type
Der Typ des Clientskriptblocks. Dieser Parameter wird in der Regel mithilfe des typeof Operators (C#) oder des GetType Operators (Visual Basic) angegeben, um den Typ des Steuerelements abzurufen, das das Skript registriert.
- key
- String
Ein eindeutiger Bezeichner für den Skriptblock.
- script
- String
Das zu registrierende Skript.
- addScriptTags
- Boolean
trueum den Skriptblock in und </script> Tags einzuschließen<script>; falseandernfalls .
Ausnahmen
Der Skriptblock type ist null.
- oder -
Die Seite, die den Skriptblock registriert, ist null.
Hinweise
Wenn Sie einen Skriptblock mithilfe dieser Methode registrieren, wird das Skript jedes Mal gerendert, wenn ein asynchroner Postback auftritt. Verwenden Sie die RegisterClientScriptBlock(Control, Type, String, String, Boolean) Überladung dieser Methode, um einen Skriptblock für ein Steuerelement zu registrieren, das sich innerhalb eines UpdatePanel Steuerelements befindet, sodass das Skript nur registriert wird, wenn das UpdatePanel Steuerelement aktualisiert wird.
Wenn Sie einen Skriptblock registrieren möchten, der sich nicht auf Teilseitenaktualisierungen bezieht, und wenn Sie den Skriptblock nur einmal während des anfänglichen Seitenrenderings registrieren möchten, verwenden Sie die RegisterClientScriptBlock Methode der ClientScriptManager Klasse. Sie können einen Verweis auf das ClientScriptManager Objekt aus der ClientScript Eigenschaft der Seite abrufen.