ScriptManager.RegisterClientScriptBlock ScriptManager.RegisterClientScriptBlock ScriptManager.RegisterClientScriptBlock Method

Определение

Регистрирует блок клиентского скрипта с помощью элемента управления ScriptManager для использования с элементом управления, находящимся внутри элемента управления UpdatePanel, и добавляет блок скрипта к странице.Registers a client script block with the ScriptManager control for use with a control that is inside an UpdatePanel control, and then adds the script block to the page.

Перегрузки

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

Регистрирует блок клиентского скрипта с помощью элемента управления ScriptManager для использования с элементом управления, находящимся внутри элемента управления UpdatePanel, и добавляет блок скрипта к странице.Registers a client script block with the ScriptManager control for use with a control that is inside an UpdatePanel control, and then adds the script block to the page.

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

Регистрирует блок клиентского скрипта с помощью элемента управления ScriptManager для использования с элементом управления, находящимся внутри элемента управления UpdatePanel, и добавляет блок скрипта к странице.Registers a client script block with the ScriptManager control for use with a control that is inside an UpdatePanel control, and then adds the script block to the page.

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

Регистрирует блок клиентского скрипта с помощью элемента управления ScriptManager для использования с элементом управления, находящимся внутри элемента управления UpdatePanel, и добавляет блок скрипта к странице.Registers a client script block with the ScriptManager control for use with a control that is inside an UpdatePanel control, and then adds the script block to the page.

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

Параметры

page
Page Page Page

Объект страницы, регистрирующий блок клиентского скрипта.The page object that is registering the client script block.

type
Type Type Type

Тип блока клиентского скрипта.The type of the client script block. Этот параметр обычно задается с оператором typeof (C#) или GetType (Visual Basic) для извлечения типа элемента управления, регистрирующего скрипт.This parameter is usually specified by using the typeof operator (C#) or the GetType operator (Visual Basic) to retrieve the type of the control that is registering the script.

key
String String String

Уникальный идентификатор для блока скрипта.A unique identifier for the script block.

script
String String String

Скрипт для регистрации.The script to register.

addScriptTags
Boolean Boolean Boolean

true для заключения блока скрипта в теги <script> и </script>; в противном случае — false.true to enclose the script block in <script> and </script> tags; otherwise, false.

Исключения

Тип type блока скрипта равен null.The script block type is null.

-или--or- Страница, регистрирующая блок скрипта, равен null.The page that is registering the script block is null.

Комментарии

При регистрации блока скрипта с помощью этого метода скрипт отображается при каждом выполнении асинхронной обратной передачи.When you register a script block by using this method, the script is rendered every time that an asynchronous postback occurs. Чтобы зарегистрировать блок скрипта для элемента управления, находящегося UpdatePanel внутри элемента управления, чтобы скрипт регистрировался только UpdatePanel при обновлении элемента управления, используйте RegisterClientScriptBlock(Control, Type, String, String, Boolean) перегрузку этого метода.To register a script block for a control that is inside an UpdatePanel control so that script is registered only when the UpdatePanel control is updated, use the RegisterClientScriptBlock(Control, Type, String, String, Boolean) overload of this method.

Если требуется зарегистрировать блок скрипта, который не относится к частичным обновлениям страницы, и если требуется зарегистрировать блок сценария только один раз во время первоначальной отрисовки страницы, используйте RegisterClientScriptBlock метод ClientScriptManager класса.If you want to register a script block that does not pertain to partial-page updates, and if you want to register the script block only one time during initial page rendering, use the RegisterClientScriptBlock method of the ClientScriptManager class. Ссылку на ClientScriptManager объект можно получить ClientScript из свойства страницы.You can get a reference to the ClientScriptManager object from the ClientScript property of the page.

Дополнительно

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

Регистрирует блок клиентского скрипта с помощью элемента управления ScriptManager для использования с элементом управления, находящимся внутри элемента управления UpdatePanel, и добавляет блок скрипта к странице.Registers a client script block with the ScriptManager control for use with a control that is inside an UpdatePanel control, and then adds the script block to the page.

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

Параметры

control
Control Control Control

Элемент управления, регистрирующий блок клиентского скрипта.The control that is registering the client script block.

type
Type Type Type

Тип блока клиентского скрипта.The type of the client script block. Этот параметр обычно задается с оператором typeof (C#) или GetType (Visual Basic) для извлечения типа элемента управления, регистрирующего скрипт.This parameter is usually specified by using the typeof operator (C#) or the GetType operator (Visual Basic) to retrieve the type of the control that is registering the script.

key
String String String

Уникальный идентификатор для блока скрипта.A unique identifier for the script block.

script
String String String

Скрипт.The script.

addScriptTags
Boolean Boolean Boolean

true для заключения блока скрипта в теги <script> и </script>; в противном случае — false.true to enclose the script block in <script> and </script> tags; otherwise, false.

Исключения

Тип type блока клиентского скрипта равен null.The client script block type is null.

- или --or- Элемент управления, регистрирующий блок скрипта, — null.The control that is registering the script block is null.

Элемент управления, регистрирующий блок скрипта, не найден в дереве элементов управления страницы.The control that is registering the script block is not in the page's control tree.

Примеры


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

Комментарии

RegisterClientScriptBlock Метод используется для регистрации блока клиентского скрипта, совместимого с частичной отрисовкой страницы и не имеющего зависимостей библиотеки Microsoft AJAX.You use the RegisterClientScriptBlock method to register a client script block that is compatible with partial-page rendering and that has no Microsoft Ajax Library dependencies. Блоки клиентских сценариев, зарегистрированные с помощью этого метода, отправляются на страницу только control в том случае, если представляет элемент UpdatePanel управления, который находится внутри обновляемого элемента управления.Client script blocks that are registered by using this method are sent to the page only when control represents a control that is inside an UpdatePanel control that is being updated. Чтобы зарегистрировать блок скрипта при каждом возникновении асинхронной обратной передачи, RegisterClientScriptBlock(Page, Type, String, String, Boolean) используйте перегрузку этого метода.To register a script block every time that an asynchronous postback occurs, use the RegisterClientScriptBlock(Page, Type, String, String, Boolean) overload of this method.

Если требуется зарегистрировать блок скрипта, который не относится к частичным обновлениям страницы, и если требуется зарегистрировать блок сценария только один раз во время первоначальной отрисовки страницы, используйте RegisterClientScriptBlock метод ClientScriptManager класса.If you want to register a script block that does not pertain to partial-page updates, and if you want to register the script block only one time during initial page rendering, use the RegisterClientScriptBlock method of the ClientScriptManager class. Ссылку на ClientScriptManager объект можно получить ClientScript из свойства страницы.You can get a reference to the ClientScriptManager object from the ClientScript property of the page.

Если addScriptTags имеет trueзначение, RegisterClientScriptBlock метод добавляет<script> теги вокруг блока script.If addScriptTags is true, the RegisterClientScriptBlock method adds <script> tags around the script block. Если false вы хотите создавать <script> теги самостоятельно, например, если нужно задать атрибуты конкретных <script> тегов, прохождение Pass.Pass false if you want to create <script> tags yourself, such as when you want to set the attributes of specific <script> tags. Если addScriptTags script аргумент false имеет значение, а параметр содержит несколько блоков скрипта, возникает исключение.If addScriptTags is false and the script parameter contains multiple script blocks, an exception is thrown.

Метод добавляет блок скрипта на страницу после открывающего <form> тега. RegisterClientScriptBlockThe RegisterClientScriptBlock method adds a script block to the page after the opening <form> tag. Не гарантируется, что блоки сценариев будут выводиться в том же порядке, в котором они зарегистрированы.The script blocks are not guaranteed to be output in the same order in which they are registered. Если важен порядок блоков скрипта, объедините блоки скриптов в одну строку (например, с помощью StringBuilder объекта), а затем зарегистрируйте их как один блок клиентского скрипта.If the order of the script blocks is important, concatenate your script blocks into a single string (for example, by using the StringBuilder object), and then register them as a single client script block.

Дополнительно

Применяется к