Aracılığıyla paylaş


ScriptManager.RegisterClientScriptBlock Yöntem

Tanım

Bir denetimin ScriptManager içindeki bir denetimle kullanmak üzere denetimiyle bir UpdatePanel istemci betik bloğu kaydeder ve ardından betik bloğunu sayfaya ekler.

Aşırı Yüklemeler

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

Bir denetimin ScriptManager içindeki bir denetimle kullanmak üzere denetimiyle bir UpdatePanel istemci betik bloğu kaydeder ve ardından betik bloğunu sayfaya ekler.

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

Bir denetimin ScriptManager içindeki bir denetimle kullanmak üzere denetimiyle bir UpdatePanel istemci betik bloğu kaydeder ve ardından betik bloğunu sayfaya ekler.

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

Bir denetimin ScriptManager içindeki bir denetimle kullanmak üzere denetimiyle bir UpdatePanel istemci betik bloğu kaydeder ve ardından betik bloğunu sayfaya ekler.

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)

Parametreler

control
Control

İstemci betik bloğunu kaydeden denetim.

type
Type

İstemci betik bloğunun türü. Bu parametre genellikle betiği kaydeden denetimin typeof türünü almak için işleci (C#) veya GetType işleci (Visual Basic) kullanılarak belirtilir.

key
String

Betik bloğu için benzersiz bir tanımlayıcı.

script
String

Komut dosyası.

addScriptTags
Boolean

truebetik bloğunu ve </script> etiketlerini <script> içine almak için; aksi takdirde , false.

Özel durumlar

İstemci betik bloğu type şeklindedir null.

-veya- Betik bloğunu kaydeden denetim şeklindedir null.

Betik bloğunu kaydeden denetim, sayfanın denetim ağacında değil.

Örnekler


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

Açıklamalar

Yöntemini, RegisterClientScriptBlock kısmi sayfa işleme ile uyumlu ve Microsoft Ajax Kitaplığı bağımlılıkları olmayan bir istemci betik bloğunu kaydetmek için kullanırsınız. Bu yöntem kullanılarak kaydedilen istemci betik blokları sayfaya yalnızca güncelleştirilmekte olan denetimin içindeki bir UpdatePanel denetimi temsil ettiğinde control gönderilir. Zaman uyumsuz bir geri gönderme gerçekleştiğinde bir betik bloğunu kaydetmek için bu yöntemin RegisterClientScriptBlock(Page, Type, String, String, Boolean) aşırı yüklemesini kullanın.

Kısmi sayfa güncelleştirmeleri ile ilgili olmayan bir betik bloğunu kaydetmek istiyorsanız ve betik bloğunu ilk sayfa işleme sırasında yalnızca bir kez kaydetmek istiyorsanız sınıfının yöntemini ClientScriptManager kullanınRegisterClientScriptBlock. Nesneye başvuruyu ClientScriptManager sayfanın özelliğinden ClientScript alabilirsiniz.

ise addScriptTags trueRegisterClientScriptBlock yöntemi betik bloğunun çevresine etiketler ekler<script>. Etiketleri kendiniz oluşturmak <script> istiyorsanız ( örneğin belirli <script> etiketlerin özniteliklerini ayarlamak istediğinizde) geçirinfalse. ise addScriptTags false ve script parametresi birden çok betik bloğu içeriyorsa, bir özel durum oluşturulur.

yöntemi, RegisterClientScriptBlock açılış <form> etiketinden sonra sayfaya bir betik bloğu ekler. Betik bloklarının kaydedildikleri sırayla çıkış garantisi verilmez. Betik bloklarının sırası önemliyse, betik bloklarınızı tek bir dizede birleştirin (örneğin, nesnesini kullanarak StringBuilder ) ve sonra bunları tek bir istemci betik bloğu olarak kaydedin.

Ayrıca bkz.

Şunlara uygulanır

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

Bir denetimin ScriptManager içindeki bir denetimle kullanmak üzere denetimiyle bir UpdatePanel istemci betik bloğu kaydeder ve ardından betik bloğunu sayfaya ekler.

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)

Parametreler

page
Page

İstemci betik bloğunu kaydeden sayfa nesnesi.

type
Type

İstemci betik bloğunun türü. Bu parametre genellikle betiği kaydeden denetimin typeof türünü almak için işleci (C#) veya GetType işleci (Visual Basic) kullanılarak belirtilir.

key
String

Betik bloğu için benzersiz bir tanımlayıcı.

script
String

Kaydedilecek betik.

addScriptTags
Boolean

truebetik bloğunu ve </script> etiketlerini <script> içine almak için; aksi takdirde , false.

Özel durumlar

Betik bloğu type şeklindedir null.

-veya- Betik bloğunu kaydeden sayfa şeklindedir null.

Açıklamalar

Bu yöntemi kullanarak bir betik bloğu kaydettiğinizde, zaman uyumsuz bir geri gönderme gerçekleştiğinde betik işlenir. Denetimin içindeki UpdatePanel bir denetim için betik bloğunu kaydetmek, böylece betiğin yalnızca denetim güncelleştirildiğinde UpdatePanel kaydedilmesini sağlamak için bu yöntemin RegisterClientScriptBlock(Control, Type, String, String, Boolean) aşırı yüklemesini kullanın.

Kısmi sayfa güncelleştirmeleri ile ilgili olmayan bir betik bloğunu kaydetmek istiyorsanız ve betik bloğunu ilk sayfa işleme sırasında yalnızca bir kez kaydetmek istiyorsanız sınıfının yöntemini ClientScriptManager kullanınRegisterClientScriptBlock. Nesneye başvuruyu ClientScriptManager sayfanın özelliğinden ClientScript alabilirsiniz.

Ayrıca bkz.

Şunlara uygulanır