ScriptManager.RegisterClientScriptBlock Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Inscrit un bloc de script client avec le contrôle ScriptManager pour une utilisation avec un contrôle situé à l'intérieur d'un contrôle UpdatePanel, puis ajoute le bloc de script à la page.
Surcharges
RegisterClientScriptBlock(Control, Type, String, String, Boolean) |
Inscrit un bloc de script client avec le contrôle ScriptManager pour une utilisation avec un contrôle situé à l'intérieur d'un contrôle UpdatePanel, puis ajoute le bloc de script à la page. |
RegisterClientScriptBlock(Page, Type, String, String, Boolean) |
Inscrit un bloc de script client avec le contrôle ScriptManager pour une utilisation avec un contrôle situé à l'intérieur d'un contrôle UpdatePanel, puis ajoute le bloc de script à la page. |
RegisterClientScriptBlock(Control, Type, String, String, Boolean)
Inscrit un bloc de script client avec le contrôle ScriptManager pour une utilisation avec un contrôle situé à l'intérieur d'un contrôle UpdatePanel, puis ajoute le bloc de script à la page.
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)
Paramètres
- control
- Control
Contrôle qui inscrit le bloc de script client.
- type
- Type
Type du bloc de script client. Ce paramètre est généralement spécifié en utilisant l'opérateur typeof
(C#) ou l'opérateur GetType
(Visual Basic) pour récupérer le type du contrôle qui inscrit le script.
- key
- String
Identificateur unique pour le bloc de script.
- script
- String
Script.
- addScriptTags
- Boolean
true
pour mettre le bloc de script entre des balises <script>
et </script>
; sinon, false
.
Exceptions
Le bloc de script client type
est null
.
- ou -
Le contrôle qui inscrit le bloc de script est null
.
Le contrôle qui inscrit le bloc de script n'est pas dans l'arborescence du contrôle de la page.
Exemples
<%@ 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>
Remarques
Vous utilisez la RegisterClientScriptBlock méthode pour inscrire un bloc de script client qui est compatible avec le rendu de page partielle et qui n’a pas de dépendances Microsoft bibliothèque Ajax. Les blocs de script client inscrits à l’aide de cette méthode sont envoyés à la page uniquement lorsque control
représente un contrôle qui se trouve à l’intérieur d’un UpdatePanel contrôle en cours de mise à jour. Pour inscrire un bloc de script chaque fois qu’une publication asynchrone se produit, utilisez la RegisterClientScriptBlock(Page, Type, String, String, Boolean) surcharge de cette méthode.
Si vous souhaitez inscrire un bloc de script qui ne concerne pas les mises à jour de page partielles et si vous souhaitez inscrire le bloc de script une seule fois pendant le rendu initial de la page, utilisez la RegisterClientScriptBlock méthode de la ClientScriptManager classe . Vous pouvez obtenir une référence à l’objet ClientScriptManager à partir de la ClientScript propriété de la page.
Si addScriptTags
a la valeur true
, la RegisterClientScriptBlock méthode ajoute <script>
des balises autour du bloc de script.
false
Passez si vous souhaitez créer <script>
des balises vous-même, par exemple lorsque vous souhaitez définir les attributs de balises spécifiques<script>
. Si addScriptTags
est false
et que le script
paramètre contient plusieurs blocs de script, une exception est levée.
La RegisterClientScriptBlock méthode ajoute un bloc de script à la page après la balise d’ouverture <form>
. La sortie des blocs de script n’est pas garantie dans le même ordre d’inscription. Si l’ordre des blocs de script est important, concaténétez vos blocs de script dans une chaîne unique (par exemple, à l’aide de l’objet StringBuilder ), puis inscrivez-les en tant que bloc de script client unique.
Voir aussi
S’applique à
RegisterClientScriptBlock(Page, Type, String, String, Boolean)
Inscrit un bloc de script client avec le contrôle ScriptManager pour une utilisation avec un contrôle situé à l'intérieur d'un contrôle UpdatePanel, puis ajoute le bloc de script à la page.
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)
Paramètres
- page
- Page
Objet page qui inscrit le bloc de script client.
- type
- Type
Type du bloc de script client. Ce paramètre est généralement spécifié en utilisant l'opérateur typeof
(C#) ou l'opérateur GetType
(Visual Basic) pour récupérer le type du contrôle qui inscrit le script.
- key
- String
Identificateur unique pour le bloc de script.
- script
- String
Le script à inscrire.
- addScriptTags
- Boolean
true
pour mettre le bloc de script entre des balises <script>
et </script>
; sinon, false
.
Exceptions
Le bloc de script type
est null
.
- ou -
La page qui inscrit le bloc de script est null
.
Remarques
Lorsque vous inscrivez un bloc de script à l’aide de cette méthode, le script est rendu chaque fois qu’une publication asynchrone se produit. Pour inscrire un bloc de script pour un contrôle qui se trouve à l’intérieur d’un UpdatePanel contrôle afin que le script soit inscrit uniquement lorsque le UpdatePanel contrôle est mis à jour, utilisez la RegisterClientScriptBlock(Control, Type, String, String, Boolean) surcharge de cette méthode.
Si vous souhaitez inscrire un bloc de script qui ne concerne pas les mises à jour de page partielles et si vous souhaitez inscrire le bloc de script une seule fois pendant le rendu initial de la page, utilisez la RegisterClientScriptBlock méthode de la ClientScriptManager classe . Vous pouvez obtenir une référence à l’objet ClientScriptManager à partir de la ClientScript propriété de la page.