ScriptReference.Assembly Свойство

Определение

Возвращает или задает имя сборки, содержащей пользовательский файл скрипта как внедренный ресурс.Gets or sets the name of the assembly that contains the client script file as an embedded resource.

public:
 property System::String ^ Assembly { System::String ^ get(); void set(System::String ^ value); };
public string Assembly { get; set; }
member this.Assembly : string with get, set
Public Property Assembly As String

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

Полностью или частично определенное имя сборки, содержащей пользовательский файл скрипта как внедренный ресурс.The fully qualified or partially qualified name of the assembly that contains a client script file as an embedded resource.

Примеры

В следующем примере показано, как ссылаться на пользовательский элемент управления и на JavaScript-файл, внедренный в сборку элемента управления.The following example shows how to reference a custom control and a JavaScript file that is embedded in the control assembly. Предполагается, что сборка находится в папке Bin веб-сайта.The assembly is assumed to be in the Bin folder of the Web site. Пользовательский элемент управления анимируется UpdatePanel элементы управления.The custom control animates UpdatePanel controls. Файл JavaScript компилируется как внедренный ресурс с именем Самплеконтрол. UpdatePanelAnimation. js.The JavaScript file is compiled as an embedded resource that is named SampleControl.UpdatePanelAnimation.js. Вы регистрируете внедренный файл JavaScript с помощью Assembly свойств Name и.You register the embedded JavaScript file by using the Assembly and Name properties.

Чтобы использовать этот пример, скомпилируйте файл JavaScript, показанный в примере, как внедренный ресурс с пользовательским элементом управления.To use this example, compile the JavaScript file that is shown in the example as an embedded resource with the custom control. Вставьте полученную сборку в папку bin на веб-сайте.Put the resulting assembly into the Bin folder of the Web site. Пример внедрения файла JavaScript в сборку см. в разделе пошаговое руководство. Внедрение файла JavaScript в качестве ресурса в сборку.For an example of how to embed a JavaScript file in an assembly, see Walkthrough: Embedding a JavaScript File as a Resource in an Assembly.

В следующем примере показана страница, использующая пользовательский элемент управления.The following example shows a page that uses the custom control.

<%@ 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>
<%@ Page Language="VB" AutoEventWireup="true" %>

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

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" 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>

В следующем примере показано определение класса пользовательского элемента управления.The following example shows the custom control class definition.

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);
            }
        }
    }
}
Imports System.Web.UI
Imports System.Drawing
Imports System.Globalization

Public Class UpdatePanelAnimationWithClientResource
    Inherits Control

    Private _updatePanelID As String
    Private _borderColor As Color
    Private _animate As Boolean

    Public Property BorderColor() As Color
        Get
            Return _borderColor
        End Get
        Set(ByVal value As Color)
            _borderColor = value
        End Set
    End Property

    Public Property UpdatePanelID() As String
        Get
            Return _updatePanelID
        End Get
        Set(ByVal value As String)
            _updatePanelID = value
        End Set
    End Property

    Public Property Animate() As Boolean
        Get
            Return _animate
        End Get
        Set(ByVal value As Boolean)
            _animate = value
        End Set
    End Property

    Protected Overrides Sub OnPreRender(ByVal e As EventArgs)
        MyBase.OnPreRender(e)
        If (Animate) Then

            Dim updatePanel As UpdatePanel = CType(Me.FindControl(UpdatePanelID), UpdatePanel)

            Dim script As String = 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( _
                Me, _
                GetType(UpdatePanelAnimationWithClientResource), _
                ClientID, _
                script, _
                True)
        End If
    End Sub
End Class

В следующем примере показан вспомогательный файл JavaScript.The following example shows the supporting JavaScript file.

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.The following example shows code that you must add to the AssemblyInfo file of the project that contains the custom control and the JavaScript file.

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

Комментарии

Assembly Свойство задается при ссылке на файл клиентского скрипта, который включен в сборку в качестве внедренного ресурса.You set the Assembly property when you reference a client script file that is included as an embedded resource in an assembly. Задайте Assembly полное или частично квалифицированное имя сборки.Set Assembly to the fully qualified or partially qualified assembly name. Полное имя сборки включает имя, язык и региональные параметры, Открытый ключ и номер версии.A fully qualified assembly name includes a name, culture, public key, and version number. Частично квалифицированное имя сборки включает только имя.A partially qualified assembly name includes only a name.

При указании значения для Assemblyнеобходимо также указать имя внедренного ресурса Name в свойстве.When you specify a value for Assembly, you must also specify the name of the embedded resource in the Name property. В противном случае будет выдано исключение. InvalidOperationExceptionOtherwise, an InvalidOperationException will be thrown.

Сборка, на которую указывает ссылка, должна находиться либо в папке Bin веб-сайта, либо в глобальном кэше сборок.The assembly being referenced must be located in either the Bin folder of the Web site or in the global assembly cache.

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