Sdílet prostřednictvím


ScriptManager.RegisterClientScriptBlock Metoda

Definice

Zaregistruje blok klientského skriptu ovládacím ScriptManager prvku pro použití s ovládacím prvku, který je uvnitř UpdatePanel ovládacího prvku, a pak přidá blok skriptu na stránku.

Přetížení

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

Zaregistruje blok klientského skriptu ovládacím ScriptManager prvku pro použití s ovládacím prvku, který je uvnitř UpdatePanel ovládacího prvku, a pak přidá blok skriptu na stránku.

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

Zaregistruje blok klientského skriptu ovládacím ScriptManager prvku pro použití s ovládacím prvku, který je uvnitř UpdatePanel ovládacího prvku, a pak přidá blok skriptu na stránku.

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

Zaregistruje blok klientského skriptu ovládacím ScriptManager prvku pro použití s ovládacím prvku, který je uvnitř UpdatePanel ovládacího prvku, a pak přidá blok skriptu na stránku.

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)

Parametry

control
Control

Ovládací prvek, který registruje blok klientského skriptu.

type
Type

Typ bloku klientského skriptu. Tento parametr je obvykle určen pomocí operátoru typeof (C#) nebo GetType operátoru (Visual Basic) k načtení typu ovládacího prvku, který skript registruje.

key
String

Jedinečný identifikátor bloku skriptu.

script
String

Skript.

addScriptTags
Boolean

true k uzavření bloku skriptu do <script> a </script> značek; v opačném případě false.

Výjimky

Blok type klientského skriptu je null.

-nebo- Ovládací prvek, který registruje blok skriptu, je null.

Ovládací prvek, který registruje blok skriptu, není ve stromu ovládacích prvků stránky.

Příklady


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

Poznámky

Tuto metodu RegisterClientScriptBlock použijete k registraci bloku klientského skriptu, který je kompatibilní s částečným vykreslováním stránek a který nemá žádné závislosti knihovny Microsoft Ajax Library. Bloky klientského skriptu registrované pomocí této metody se odesílají na stránku pouze v případě control , že představuje ovládací prvek uvnitř UpdatePanel ovládacího prvku, který se aktualizuje. Pokud chcete zaregistrovat blok skriptu pokaždé, když dojde k asynchronnímu postbacku, použijte RegisterClientScriptBlock(Page, Type, String, String, Boolean) přetížení této metody.

Chcete-li zaregistrovat blok skriptu, který se netýká částečných aktualizací stránky, a pokud chcete při počátečním vykreslování stránky zaregistrovat blok skriptu pouze jednou, použijte RegisterClientScriptBlock metodu ClientScriptManager třídy. Odkaz na ClientScriptManager objekt můžete získat z ClientScript vlastnosti stránky.

Pokud addScriptTags ano true, RegisterClientScriptBlock metoda přidá <script> značky kolem bloku skriptu. Předejte false , pokud chcete vytvořit <script> značky sami, například když chcete nastavit atributy konkrétních <script> značek. Pokud addScriptTags je false a script parametr obsahuje více bloků skriptu, vyvolá se výjimka.

Metoda RegisterClientScriptBlock přidá blok skriptu na stránku za levou <form> značku. Bloky skriptů nejsou zaručeny, že budou výstupy ve stejném pořadí, v jakém jsou zaregistrované. Pokud je pořadí bloků skriptu důležité, zřetězení bloků skriptu do jednoho řetězce (například pomocí objektu StringBuilder ) a pak je zaregistrujte jako jeden blok klientského skriptu.

Viz také

Platí pro

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

Zaregistruje blok klientského skriptu ovládacím ScriptManager prvku pro použití s ovládacím prvku, který je uvnitř UpdatePanel ovládacího prvku, a pak přidá blok skriptu na stránku.

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)

Parametry

page
Page

Objekt stránky, který registruje blok klientského skriptu.

type
Type

Typ bloku klientského skriptu. Tento parametr je obvykle určen pomocí operátoru typeof (C#) nebo GetType operátoru (Visual Basic) k načtení typu ovládacího prvku, který skript registruje.

key
String

Jedinečný identifikátor bloku skriptu.

script
String

Skript, který se má zaregistrovat.

addScriptTags
Boolean

true k uzavření bloku skriptu do <script> a </script> značek; v opačném případě false.

Výjimky

Blok type skriptu je null.

-nebo- Stránka, která registruje blok skriptu, je null.

Poznámky

Když pomocí této metody zaregistrujete blok skriptu, skript se vykreslí pokaždé, když dojde k asynchronnímu postbacku. Chcete-li zaregistrovat blok skriptu pro ovládací prvek, který je uvnitř UpdatePanel ovládacího prvku, aby byl skript registrován pouze při UpdatePanel aktualizaci ovládacího prvku, použijte RegisterClientScriptBlock(Control, Type, String, String, Boolean) přetížení této metody.

Chcete-li zaregistrovat blok skriptu, který se netýká částečných aktualizací stránky, a pokud chcete při počátečním vykreslování stránky zaregistrovat blok skriptu pouze jednou, použijte RegisterClientScriptBlock metodu ClientScriptManager třídy. Odkaz na ClientScriptManager objekt můžete získat z ClientScript vlastnosti stránky.

Viz také

Platí pro