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 beim ScriptManager-Steuerelement für die Verwendung mit einem Steuerelement, das sich innerhalb eines UpdatePanel-Steuerelements befindet, und fügt der Seite dann den Skriptblock hinzu.
Überlädt
RegisterClientScriptBlock(Control, Type, String, String, Boolean) |
Registriert einen Clientskriptblock beim ScriptManager-Steuerelement für die Verwendung mit einem Steuerelement, das sich innerhalb eines UpdatePanel-Steuerelements befindet, und fügt der Seite dann den Skriptblock hinzu. |
RegisterClientScriptBlock(Page, Type, String, String, Boolean) |
Registriert einen Clientskriptblock beim ScriptManager-Steuerelement für die Verwendung mit einem Steuerelement, das sich innerhalb eines UpdatePanel-Steuerelements befindet, und fügt der Seite dann den Skriptblock hinzu. |
RegisterClientScriptBlock(Control, Type, String, String, Boolean)
Registriert einen Clientskriptblock beim ScriptManager-Steuerelement für die Verwendung mit einem Steuerelement, das sich innerhalb eines UpdatePanel-Steuerelements befindet, und fügt der Seite dann den Skriptblock 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 meist mithilfe des Operators typeof
(C#) bzw. des Operators GetType
(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
true
, um den Skriptblock in die Tags <script>
und </script>
einzuschließen, andernfalls false
.
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 partiellem Seitenrendering kompatibel ist und keine Microsoft Ajax-Bibliotheksabhängigkeiten aufweist. Clientskriptblöcke, die mit dieser Methode registriert werden, werden nur dann an die Seite gesendet, wenn control
ein Steuerelement in einem UpdatePanel Steuerelement dargestellt wird, das aktualisiert wird. Verwenden Sie die RegisterClientScriptBlock(Page, Type, String, String, Boolean) Überladung dieser Methode, um bei jedem Auftreten eines asynchronen Postbacks einen Skriptblock zu registrieren.
Wenn Sie einen Skriptblock registrieren möchten, der sich nicht auf Teilaktualisierungen von Seiten bezieht, und wenn Sie den Skriptblock während des anfänglichen Seitenrenderings nur einmal 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
isttrue
, 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
ist false
und der script
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. Es ist nicht garantiert, dass die Ausgabe der Skriptblöcke in derselben Reihenfolge erfolgt, in der sie registriert sind. Wenn die Reihenfolge der Skriptblöcke wichtig ist, verketten Sie Ihre Skriptblöcke in einer einzelnen Zeichenfolge (z. B. mithilfe des StringBuilder -Objekts), und registrieren Sie sie dann als einen einzelnen Clientskriptblock.
Weitere Informationen
Gilt für:
RegisterClientScriptBlock(Page, Type, String, String, Boolean)
Registriert einen Clientskriptblock beim ScriptManager-Steuerelement für die Verwendung mit einem Steuerelement, das sich innerhalb eines UpdatePanel-Steuerelements befindet, und fügt der Seite dann den Skriptblock 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 meist mithilfe des Operators typeof
(C#) bzw. des Operators GetType
(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
true
, um den Skriptblock in die Tags <script>
und </script>
einzuschließen, andernfalls false
.
Ausnahmen
Der Skriptblock type
ist null
.
- oder -
Die Seite, die den Skriptblock registriert, ist null
.
Hinweise
Wenn Sie einen Skriptblock mit dieser Methode registrieren, wird das Skript jedes Mal gerendert, wenn ein asynchrones Postback auftritt. Verwenden RegisterClientScriptBlock(Control, Type, String, String, Boolean) Sie die Überladung dieser Methode, UpdatePanel um einen Skriptblock für ein Steuerelement zu registrieren, damit das Skript nur registriert wird, wenn das UpdatePanel Steuerelement aktualisiert wird.
Wenn Sie einen Skriptblock registrieren möchten, der sich nicht auf Teilaktualisierungen von Seiten bezieht, und wenn Sie den Skriptblock während des anfänglichen Seitenrenderings nur einmal 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.