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 auprès du ScriptManager contrôle à utiliser avec un contrôle qui se trouve à l’intérieur d’un UpdatePanel contrôle, puis ajoute le bloc de script à la page.
Surcharges
| Nom | Description |
|---|---|
| RegisterClientScriptBlock(Control, Type, String, String, Boolean) |
Inscrit un bloc de script client auprès du ScriptManager contrôle à utiliser avec un contrôle qui se trouve à l’intérieur d’un UpdatePanel contrôle, puis ajoute le bloc de script à la page. |
| RegisterClientScriptBlock(Page, Type, String, String, Boolean) |
Inscrit un bloc de script client auprès du ScriptManager contrôle à utiliser avec un contrôle qui se trouve à l’intérieur d’un UpdatePanel contrôle, puis ajoute le bloc de script à la page. |
RegisterClientScriptBlock(Control, Type, String, String, Boolean)
Inscrit un bloc de script client auprès du ScriptManager contrôle à utiliser avec un contrôle qui se trouve à l’intérieur d’un UpdatePanel contrôle, 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é à l’aide de l’opérateur typeof (C#) ou de 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 placer le bloc de script dans <script> et </script> les balises ; sinon, false.
Exceptions
Le bloc type de script client 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 de 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 compatible avec le rendu de pages partielles et qui n’a aucune dépendance de bibliothèque Microsoft Ajax. Les blocs de script client inscrits à l’aide de cette méthode sont envoyés à la page uniquement quand il 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 partielles de page et si vous souhaitez inscrire le bloc de script une seule fois pendant le rendu de page initial, 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 c’est truele cas, la RegisterClientScriptBlock méthode ajoute <script> des balises autour du bloc de script. Passez si vous souhaitez créer <script> vous-même des false balises, par exemple lorsque vous souhaitez définir les attributs de balises spécifiques<script>. Si addScriptTags le falsescript 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> . Les blocs de script ne sont pas garantis comme étant de sortie dans le même ordre dans lequel ils sont inscrits. Si l’ordre des blocs de script est important, concatènez vos blocs de script en une seule chaîne (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 auprès du ScriptManager contrôle à utiliser avec un contrôle qui se trouve à l’intérieur d’un UpdatePanel contrôle, 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 de 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é à l’aide de l’opérateur typeof (C#) ou de 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 à inscrire.
- addScriptTags
- Boolean
true pour placer le bloc de script dans <script> et </script> les balises ; sinon, false.
Exceptions
Le bloc type de script 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’un postback 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 partielles de page et si vous souhaitez inscrire le bloc de script une seule fois pendant le rendu de page initial, 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.