ScriptManager.RegisterClientScriptBlock Metódus

Definíció

Regisztrál egy ügyfélszkriptblokkot a ScriptManager vezérlővel, amely egy vezérlőn belül UpdatePanel található vezérlővel használható, majd hozzáadja a szkriptblokkot a laphoz.

Túlterhelések

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

Regisztrál egy ügyfélszkriptblokkot a ScriptManager vezérlővel, amely egy vezérlőn belül UpdatePanel található vezérlővel használható, majd hozzáadja a szkriptblokkot a laphoz.

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

Regisztrál egy ügyfélszkriptblokkot a ScriptManager vezérlővel, amely egy vezérlőn belül UpdatePanel található vezérlővel használható, majd hozzáadja a szkriptblokkot a laphoz.

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

Regisztrál egy ügyfélszkriptblokkot a ScriptManager vezérlővel, amely egy vezérlőn belül UpdatePanel található vezérlővel használható, majd hozzáadja a szkriptblokkot a laphoz.

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éterek

control
Control

Az ügyfélszkriptblokkot regisztráló vezérlő.

type
Type

Az ügyfélszkriptblokk típusa. Ezt a paramétert általában a typeof operátor (C#) vagy a GetType operátor (Visual Basic) használatával adhatja meg a szkriptet regisztráló vezérlő típusának lekéréséhez.

key
String

A szkriptblokk egyedi azonosítója.

script
String

A szkript.

addScriptTags
Boolean

true a szkriptblokk <script></script> és a címkék beágyazásához; ellenkező esetben false.

Kivételek

Az ügyfélszkript blokkjatype.null

-vagy-

A szkriptblokkot regisztráló vezérlő az null.

A szkriptblokkot regisztráló vezérlő nem szerepel a lap vezérlőfán.

Példák


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

Megjegyzések

A RegisterClientScriptBlock metódussal olyan ügyfélszkriptblokkot regisztrálhat, amely kompatibilis a részleges oldalleképezéssel, és amely nem rendelkezik Microsoft Ajax-kódtár-függőségekkel. Az ezzel a módszerrel regisztrált ügyfélszkriptblokkokat a rendszer csak akkor küldi el a lapra, ha control egy frissített vezérlőn belüli UpdatePanel vezérlőt jelöl. Ha minden alkalommal regisztrálni szeretne egy szkriptblokkot, amikor aszinkron visszavétel történik, használja ennek a metódusnak a RegisterClientScriptBlock(Page, Type, String, String, Boolean) túlterhelését.

Ha olyan szkriptblokkot szeretne regisztrálni, amely nem vonatkozik részleges oldalfrissítésre, és a szkriptblokkot csak egyszer szeretné regisztrálni a kezdeti lapmegjelenítés során, használja az RegisterClientScriptBlockClientScriptManager osztály metódusát. Az objektumra mutató hivatkozást az ClientScriptManagerClientScript oldal tulajdonságából kaphatja meg.

Ha addScriptTags igen true, a RegisterClientScriptBlock metódus címkéket ad <script> hozzá a szkriptblokkhoz. Adja át false , ha saját maga szeretne címkéket létrehozni <script> , például amikor meg szeretné adni az adott <script> címkék attribútumait. Ha addScriptTags igen, false és a script paraméter több szkriptblokkot tartalmaz, a rendszer kivételt jelez.

A RegisterClientScriptBlock metódus egy szkriptblokkot ad hozzá a laphoz a nyitó <form> címke után. A szkriptblokkok nem garantáltan ugyanabban a sorrendben jelennek meg, amelyben regisztrálva vannak. Ha a szkriptblokkok sorrendje fontos, fűzze össze a szkriptblokkokat egyetlen sztringben (például az StringBuilder objektum használatával), majd regisztrálja őket egyetlen ügyfélszkriptblokkként.

Lásd még

A következőre érvényes:

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

Regisztrál egy ügyfélszkriptblokkot a ScriptManager vezérlővel, amely egy vezérlőn belül UpdatePanel található vezérlővel használható, majd hozzáadja a szkriptblokkot a laphoz.

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éterek

page
Page

Az ügyfélszkriptblokkot regisztráló lapobjektum.

type
Type

Az ügyfélszkriptblokk típusa. Ezt a paramétert általában a typeof operátor (C#) vagy a GetType operátor (Visual Basic) használatával adhatja meg a szkriptet regisztráló vezérlő típusának lekéréséhez.

key
String

A szkriptblokk egyedi azonosítója.

script
String

A regisztrálandó szkript.

addScriptTags
Boolean

true a szkriptblokk <script></script> és a címkék beágyazásához; ellenkező esetben false.

Kivételek

A szkriptblokk type a következő null: .

-vagy-

A szkriptblokkot regisztráló lap az null.

Megjegyzések

Ha ezzel a módszerrel regisztrál egy szkriptblokkot, a szkript minden alkalommal renderel, amikor aszinkron utólagos visszaállítás történik. Ha egy vezérlőn belüli UpdatePanel vezérlőelemhez szeretne szkriptblokkot regisztrálni, hogy a szkript csak a UpdatePanel vezérlő frissítésekor legyen regisztrálva, használja a RegisterClientScriptBlock(Control, Type, String, String, Boolean) metódus túlterhelését.

Ha olyan szkriptblokkot szeretne regisztrálni, amely nem vonatkozik részleges oldalfrissítésre, és a szkriptblokkot csak egyszer szeretné regisztrálni a kezdeti lapmegjelenítés során, használja az RegisterClientScriptBlockClientScriptManager osztály metódusát. Az objektumra mutató hivatkozást az ClientScriptManagerClientScript oldal tulajdonságából kaphatja meg.

Lásd még

A következőre érvényes: