Freigeben über


ScriptManager.RegisterClientScriptBlock Methode

Definition

Registriert einen Clientskriptblock mit dem Steuerelement für die ScriptManager Verwendung mit einem Steuerelement, das sich innerhalb eines UpdatePanel Steuerelements befindet, und fügt dann den Skriptblock zur Seite hinzu.

Überlädt

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

Registriert einen Clientskriptblock mit dem Steuerelement für die ScriptManager Verwendung mit einem Steuerelement, das sich innerhalb eines UpdatePanel Steuerelements befindet, und fügt dann den Skriptblock zur Seite hinzu.

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

Registriert einen Clientskriptblock mit dem Steuerelement für die ScriptManager Verwendung mit einem Steuerelement, das sich innerhalb eines UpdatePanel Steuerelements befindet, und fügt dann den Skriptblock zur Seite hinzu.

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

Registriert einen Clientskriptblock mit dem Steuerelement für die ScriptManager Verwendung mit einem Steuerelement, das sich innerhalb eines UpdatePanel Steuerelements befindet, und fügt dann den Skriptblock zur Seite 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 in der Regel mithilfe des typeof Operators (C#) oder des GetType Operators (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

trueum den Skriptblock in und </script> Tags einzuschließen<script>; falseandernfalls .

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 teilweisem Seitenrendering kompatibel ist und keine Abhängigkeiten der Microsoft Ajax-Bibliothek aufweist. Clientskriptblöcke, die mithilfe dieser Methode registriert werden, werden nur dann an die Seite gesendet, wenn control ein Steuerelement in einem UpdatePanel Steuerelement dargestellt wird, das aktualisiert wird. Wenn Sie einen Skriptblock jedes Mal registrieren möchten, wenn ein asynchroner Postback auftritt, verwenden Sie die RegisterClientScriptBlock(Page, Type, String, String, Boolean) Überladung dieser Methode.

Wenn Sie einen Skriptblock registrieren möchten, der sich nicht auf Teilseitenaktualisierungen bezieht, und wenn Sie den Skriptblock nur einmal während des anfänglichen Seitenrenderings 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 jatrue, 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 der falsescript 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. Die Skriptblöcke werden nicht garantiert in derselben Reihenfolge ausgegeben, in der sie registriert sind. Wenn die Reihenfolge der Skriptblöcke wichtig ist, verketten Sie Ihre Skriptblöcke in eine einzelne Zeichenfolge (z. B. mithilfe des StringBuilder Objekts), und registrieren Sie sie dann als einzelnen Clientskriptblock.

Weitere Informationen

Gilt für:

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

Registriert einen Clientskriptblock mit dem Steuerelement für die ScriptManager Verwendung mit einem Steuerelement, das sich innerhalb eines UpdatePanel Steuerelements befindet, und fügt dann den Skriptblock zur Seite 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 in der Regel mithilfe des typeof Operators (C#) oder des GetType Operators (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

trueum den Skriptblock in und </script> Tags einzuschließen<script>; falseandernfalls .

Ausnahmen

Der Skriptblock type ist null.

- oder -

Die Seite, die den Skriptblock registriert, ist null.

Hinweise

Wenn Sie einen Skriptblock mithilfe dieser Methode registrieren, wird das Skript jedes Mal gerendert, wenn ein asynchroner Postback auftritt. Verwenden Sie die RegisterClientScriptBlock(Control, Type, String, String, Boolean) Überladung dieser Methode, um einen Skriptblock für ein Steuerelement zu registrieren, das sich innerhalb eines UpdatePanel Steuerelements befindet, sodass das Skript nur registriert wird, wenn das UpdatePanel Steuerelement aktualisiert wird.

Wenn Sie einen Skriptblock registrieren möchten, der sich nicht auf Teilseitenaktualisierungen bezieht, und wenn Sie den Skriptblock nur einmal während des anfänglichen Seitenrenderings 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.

Weitere Informationen

Gilt für: