Прочитать на английском

Поделиться через


ScriptReference.Assembly Свойство

Определение

Возвращает или задает имя сборки, содержащей пользовательский файл скрипта как внедренный ресурс.

C#
public string Assembly { get; set; }

Значение свойства

Полностью или частично определенное имя сборки, содержащей пользовательский файл скрипта как внедренный ресурс.

Примеры

В следующем примере показано, как ссылаться на пользовательский элемент управления и файл JavaScript, внедренный в сборку элемента управления. Предполагается, что сборка находится в папке Bin веб-сайта. Пользовательский элемент управления анимирует UpdatePanel элементы управления. Файл JavaScript компилируется как внедренный ресурс с именем SampleControl.UpdatePanelAnimation.js. Вы регистрируете внедренный файл JavaScript с помощью Assembly свойств и Name .

Чтобы использовать этот пример, скомпилируйте файл JavaScript, показанный в примере, как внедренный ресурс с пользовательским элементом управления . Поместите полученную сборку в папку Bin веб-сайта. Пример внедрения файла JavaScript в сборку см. в разделе Пошаговое руководство. Внедрение файла JavaScript в качестве ресурса в сборку.

В следующем примере показана страница, использующая пользовательский элемент управления .

ASP.NET (C#)
<%@ Page Language="C#" %>
<%@ Register TagPrefix="Samples" Namespace="SampleControl" Assembly="SampleControl" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>ScriptReference</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager ID="ScriptManager1" 
                                 EnablePartialRendering="True"
                                 runat="server">
             <Scripts>
                <asp:ScriptReference Assembly="SampleControl" Name="SampleControl.UpdatePanelAnimation.js" />
             </Scripts>
            </asp:ScriptManager>
            
                       
            <Samples:UpdatePanelAnimationWithClientResource 
                     ID="UpdatePanelAnimator1"
                     BorderColor="Green"
                     Animate="true"
                     UpdatePanelID="UpdatePanel1"
                     runat="server" >
            </Samples:UpdatePanelAnimationWithClientResource>
            <asp:UpdatePanel ID="UpdatePanel1" 
                               UpdateMode="Conditional"
                               runat="server">
                <ContentTemplate>
                    <asp:Calendar ID="Calendar2" 
                                  runat="server">
                    </asp:Calendar>
                </ContentTemplate>
            </asp:UpdatePanel>
        </div>
    </form>
</body>
</html>

В следующем примере показано определение пользовательского класса элемента управления.

C#
using System;
using System.Drawing;
using System.Web.UI;
using System.Web;
using System.Globalization;

namespace SampleControl
{
    public class UpdatePanelAnimationWithClientResource : Control
    {
        private string _updatePanelID;
        private Color _borderColor;
        private Boolean _animate;
        public Color BorderColor
        {
            get
            {
                return _borderColor;
            }
            set
            {
                _borderColor = value;
            }
        }

        public string UpdatePanelID
        {
            get
            {
                return _updatePanelID;
            }
            set
            {
                _updatePanelID = value;
            }
        }

        public Boolean Animate
        {
            get
            {
                return _animate;
            }
            set
            {
                _animate = value;
            }
        }
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);
            if (Animate)
            {

                UpdatePanel updatePanel = (UpdatePanel)FindControl(UpdatePanelID);

                string script = String.Format(
                   CultureInfo.InvariantCulture,
                   @"
Sys.Application.add_load(function(sender, args) {{
var {0}_borderAnimation = new BorderAnimation('{1}');
var panelElement = document.getElementById('{0}');
     if (args.get_isPartialLoad()) {{
        {0}_borderAnimation.animate(panelElement);
    }}
}})
",
                   updatePanel.ClientID,
                   ColorTranslator.ToHtml(BorderColor));

                ScriptManager.RegisterStartupScript(
                    this,
                    typeof(UpdatePanelAnimationWithClientResource),
                    ClientID,
                    script,
                    true);
            }
        }
    }
}

В следующем примере показан вспомогательный файл JavaScript.

JavaScript
BorderAnimation = function(color) {
    this._color = color;
}

BorderAnimation.prototype = {
    animate: function(panelElement) {
        var s = panelElement.style;
        s.borderWidth = '2px';
        s.borderColor = this._color;
        s.borderStyle = 'solid';

        window.setTimeout(
            function() {{
                s.borderWidth = 0;
            }},
            500);
    }
}

В следующем примере показан код, который необходимо добавить в файл AssemblyInfo проекта, который содержит пользовательский элемент управления и файл JavaScript.

C#
[assembly: System.Web.UI.WebResource("SampleControl.UpdatePanelAnimation.js", "application/x-javascript")]

Комментарии

Свойство задается Assembly при ссылке на файл клиентского скрипта, который включен в сборку в качестве внедренного ресурса. Задайте Assembly полное или частичное имя сборки. Полное имя сборки включает имя, язык и региональные параметры, открытый ключ и номер версии. Частично полное имя сборки включает только имя.

При указании значения для Assemblyнеобходимо также указать имя внедренного ресурса в свойстве Name . InvalidOperationException В противном случае будет создано исключение .

Сборка, на которой ссылается ссылка, должна находиться в папке Bin веб-сайта или в глобальном кэше сборок.

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

Продукт Версии
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1