ScriptManager.RegisterClientScriptBlock Méthode

Définition

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.

Voir aussi

S’applique à