ScriptManager.RegisterClientScriptBlock Methode

Definition

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

Überlädt

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

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

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

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

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

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

true, um den Skriptblock in die Tags <script> und </script> einzuschließen, andernfalls false.

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 partiellem Seitenrendering kompatibel ist und keine Microsoft Ajax-Bibliotheksabhängigkeiten aufweist. Clientskriptblöcke, die mit dieser Methode registriert werden, werden nur dann an die Seite gesendet, wenn control ein Steuerelement in einem UpdatePanel Steuerelement dargestellt wird, das aktualisiert wird. Verwenden Sie die RegisterClientScriptBlock(Page, Type, String, String, Boolean) Überladung dieser Methode, um bei jedem Auftreten eines asynchronen Postbacks einen Skriptblock zu registrieren.

Wenn Sie einen Skriptblock registrieren möchten, der sich nicht auf Teilaktualisierungen von Seiten bezieht, und wenn Sie den Skriptblock während des anfänglichen Seitenrenderings nur einmal 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 isttrue, 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 ist false und der script 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. Es ist nicht garantiert, dass die Ausgabe der Skriptblöcke in derselben Reihenfolge erfolgt, in der sie registriert sind. Wenn die Reihenfolge der Skriptblöcke wichtig ist, verketten Sie Ihre Skriptblöcke in einer einzelnen Zeichenfolge (z. B. mithilfe des StringBuilder -Objekts), und registrieren Sie sie dann als einen einzelnen Clientskriptblock.

Weitere Informationen

Gilt für:

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

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

true, um den Skriptblock in die Tags <script> und </script> einzuschließen, andernfalls false.

Ausnahmen

Der Skriptblock type ist null.

- oder -

Die Seite, die den Skriptblock registriert, ist null.

Hinweise

Wenn Sie einen Skriptblock mit dieser Methode registrieren, wird das Skript jedes Mal gerendert, wenn ein asynchrones Postback auftritt. Verwenden RegisterClientScriptBlock(Control, Type, String, String, Boolean) Sie die Überladung dieser Methode, UpdatePanel um einen Skriptblock für ein Steuerelement zu registrieren, damit das Skript nur registriert wird, wenn das UpdatePanel Steuerelement aktualisiert wird.

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