ScriptManager.RegisterClientScriptBlock Methode

Definitie

Registreert een clientscriptblok met het ScriptManager besturingselement voor gebruik met een besturingselement dat zich in een UpdatePanel besturingselement bevindt en voegt vervolgens het scriptblok toe aan de pagina.

Overloads

Name Description
RegisterClientScriptBlock(Control, Type, String, String, Boolean)

Registreert een clientscriptblok met het ScriptManager besturingselement voor gebruik met een besturingselement dat zich in een UpdatePanel besturingselement bevindt en voegt vervolgens het scriptblok toe aan de pagina.

RegisterClientScriptBlock(Page, Type, String, String, Boolean)

Registreert een clientscriptblok met het ScriptManager besturingselement voor gebruik met een besturingselement dat zich in een UpdatePanel besturingselement bevindt en voegt vervolgens het scriptblok toe aan de pagina.

RegisterClientScriptBlock(Control, Type, String, String, Boolean)

Registreert een clientscriptblok met het ScriptManager besturingselement voor gebruik met een besturingselement dat zich in een UpdatePanel besturingselement bevindt en voegt vervolgens het scriptblok toe aan de pagina.

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)

Parameters

control
Control

Het besturingselement dat het clientscriptblok registreert.

type
Type

Het type clientscriptblok. Deze parameter wordt meestal opgegeven met behulp van de operator typeof (C#) of de operator GetType (Visual Basic) om het type besturingselement op te halen dat het script registreert.

key
String

Een unieke id voor het scriptblok.

script
String

Het script.

addScriptTags
Boolean

trueom het scriptblok in <script> te sluiten en </script> tags in te sluiten; anders. false

Uitzonderingen

Het clientscriptblok type is null.

– of –

Het besturingselement dat het scriptblok registreert, is null.

Het besturingselement dat het scriptblok registreert, bevindt zich niet in de besturingsstructuur van de pagina.

Voorbeelden


<%@ 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>

Opmerkingen

U gebruikt de methode RegisterClientScriptBlock om een clientscriptblok te registreren dat compatibel is met het weergeven van gedeeltelijke pagina's en die geen Microsoft Ajax-bibliotheekafhankelijkheden heeft. Clientscriptblokken die zijn geregistreerd met behulp van deze methode, worden alleen naar de pagina verzonden wanneer control het een besturingselement vertegenwoordigt dat zich in een UpdatePanel besturingselement bevindt dat wordt bijgewerkt. Als u een scriptblok wilt registreren telkens wanneer een asynchrone postback optreedt, gebruikt u de RegisterClientScriptBlock(Page, Type, String, String, Boolean) overbelasting van deze methode.

Als u een scriptblok wilt registreren dat niet betrekking heeft op updates van gedeeltelijke pagina's en als u het scriptblok slechts één keer wilt registreren tijdens de eerste paginaweergave, gebruikt u de RegisterClientScriptBlock methode van de ClientScriptManager klasse. U kunt een verwijzing naar het ClientScriptManager object ophalen uit de ClientScript eigenschap van de pagina.

Als addScriptTags dat het istrue, voegt <script> de RegisterClientScriptBlock methode tags toe rond het scriptblok. Geef false door als u zelf tags wilt maken <script> , bijvoorbeeld wanneer u de kenmerken van specifieke <script> tags wilt instellen. Als addScriptTags dat het is false en de script parameter meerdere scriptblokken bevat, wordt er een uitzondering gegenereerd.

Met RegisterClientScriptBlock de methode wordt een scriptblok aan de pagina toegevoegd na het openen <form> van de tag. De scriptblokken worden niet gegarandeerd uitgevoerd in dezelfde volgorde waarin ze zijn geregistreerd. Als de volgorde van de scriptblokken belangrijk is, voegt u de scriptblokken samen in één tekenreeks (bijvoorbeeld met behulp van het StringBuilder object) en registreert u deze vervolgens als één clientscriptblok.

Zie ook

Van toepassing op

RegisterClientScriptBlock(Page, Type, String, String, Boolean)

Registreert een clientscriptblok met het ScriptManager besturingselement voor gebruik met een besturingselement dat zich in een UpdatePanel besturingselement bevindt en voegt vervolgens het scriptblok toe aan de pagina.

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)

Parameters

page
Page

Het paginaobject dat het clientscriptblok registreert.

type
Type

Het type clientscriptblok. Deze parameter wordt meestal opgegeven met behulp van de operator typeof (C#) of de operator GetType (Visual Basic) om het type besturingselement op te halen dat het script registreert.

key
String

Een unieke id voor het scriptblok.

script
String

Het script dat moet worden geregistreerd.

addScriptTags
Boolean

trueom het scriptblok in <script> te sluiten en </script> tags in te sluiten; anders. false

Uitzonderingen

Het scriptblok type is null.

– of –

De pagina die het scriptblok registreert, is null.

Opmerkingen

Wanneer u een scriptblok registreert met behulp van deze methode, wordt het script telkens weergegeven wanneer een asynchrone postback plaatsvindt. Als u een scriptblok wilt registreren voor een besturingselement dat zich in een UpdatePanel besturingselement bevindt, zodat het script alleen wordt geregistreerd wanneer het UpdatePanel besturingselement wordt bijgewerkt, gebruikt u de RegisterClientScriptBlock(Control, Type, String, String, Boolean) overbelasting van deze methode.

Als u een scriptblok wilt registreren dat niet betrekking heeft op updates van gedeeltelijke pagina's en als u het scriptblok slechts één keer wilt registreren tijdens de eerste paginaweergave, gebruikt u de RegisterClientScriptBlock methode van de ClientScriptManager klasse. U kunt een verwijzing naar het ClientScriptManager object ophalen uit de ClientScript eigenschap van de pagina.

Zie ook

Van toepassing op