ScriptReference ScriptReference ScriptReference ScriptReference Class

Определение

Регистрирует файл ECMAScript (JavaScript) для использования в веб — странице ASP.NET.Registers an ECMAScript (JavaScript) file for use on an ASP.NET Web page.

public ref class ScriptReference : System::Web::UI::ScriptReferenceBase
public class ScriptReference : System.Web.UI.ScriptReferenceBase
type ScriptReference = class
    inherit ScriptReferenceBase
Public Class ScriptReference
Inherits ScriptReferenceBase
Наследование

Примеры

В следующем примере показано, как ссылаться на пользовательский элемент управления и на 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")> 

Комментарии

Можно включить файл JavaScript на веб-страницу ASP.NET, зарегистрировав ее через ScriptReference объект.You can include a JavaScript file on an ASP.NET Web page by registering it through a ScriptReference object. Вы можете зарегистрировать файл скрипта, который находится в виде JS-файла (статического файла скрипта) на сайте.You can register a script file that is located as a .js file (a static script file) on the Web site. Можно также зарегистрировать файл скрипта, внедренный в сборку в качестве ресурса.You can also register a script file that is embedded as a resource in an assembly. После регистрации файла скрипта можно использовать его функции в клиентском скрипте на веб-странице.After registering the script file, you can use its functions in client script on the Web page.

Чтобы зарегистрировать статический файл скрипта, задайте Path для свойства ScriptReference объекта относительное расположение файла.To register a static script file, set the Path property of the ScriptReference object to the relative location of the file.

Чтобы зарегистрировать файл скрипта, внедренный в сборку в качестве ресурса, присвойте Assembly свойству имя сборки, содержащей файл.To register a script file that is embedded as a resource in an assembly, set the Assembly property to the name of the assembly that contains the file. Затем присвойте Name свойству имя JS-файла, внедренного в сборку.Then set the Name property to the name of the .js file that is embedded in the assembly. В этом случае файл скрипта должен быть внедрен, а не связан.In that case, the script file must be embedded, not linked.

ScriptMode Свойство задается, чтобы указать, следует ли использовать отладочную или окончательную версию скрипта.You set the ScriptMode property to indicate whether to use the debug or release version of the script.

Auto Значение получает разные результаты в зависимости от того, ссылается ли он на автономный файл скрипта или на файл скрипта, внедренный в сборку в качестве ресурса.The Auto value produces different results depending on whether it refers to a standalone script file or to a script file that is embedded as a resource in an assembly. Автономный файл скрипта определяется Path свойством.A standalone script file is defined with the Path property. Доступ к ссылке на сборку должен осуществляться Name через Assembly свойства и.An assembly reference must be accessed through the Name and Assembly properties. Ниже приведены результаты для Auto значения.The results for the Auto value are as follows:

  • При применении к автономному файлу скрипта Path Auto , в котором указано свойство, значение эквивалентно Releaseзначению.When it is applied to a standalone script file where the Path property is specified, the Auto value is equivalent to Release.

  • При применении к ссылке на скрипт в сборке Auto она Inheritэквивалентна.When it is applied to a script reference in an assembly, Auto is equivalent to Inherit. Если указан Name только параметр, он используется для ссылки на скрипт.When only Name is specified, it is used to reference the script. Если Name Name Inheritсвойство и заданы одновременно, Path свойствоиспользуетсявместо,нозначениепо-прежнемуэквивалентнозначению.Auto PathWhen Name and the Path property are both specified, the Path property is used instead of Name, but the Auto value is still equivalent to Inherit.

Конструкторы

ScriptReference() ScriptReference() ScriptReference() ScriptReference()

Инициализирует новый экземпляр класса ScriptReference.Initializes a new instance of the ScriptReference class.

ScriptReference(String) ScriptReference(String) ScriptReference(String) ScriptReference(String)

Инициализирует новый экземпляр класса ScriptReference с помощью указанного принтера.Initializes a new instance of the ScriptReference class by using a specified path.

ScriptReference(String, String) ScriptReference(String, String) ScriptReference(String, String) ScriptReference(String, String)

Инициализирует новый экземпляр класса ScriptReference, используя указанные имя и сборку.Initializes a new instance of the ScriptReference class by using a specified name and assembly.

Свойства

Assembly Assembly Assembly Assembly

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

IgnoreScriptPath IgnoreScriptPath IgnoreScriptPath IgnoreScriptPath

Возвращает или задает значение, указывающее включено ли свойство ScriptPath в URL — адрес при регистрации пользовательского файла скрипта из ресурса.Gets or sets a value that indicates whether the ScriptPath property is included in the URL when you register a client script file from a resource.

Name Name Name Name

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

NotifyScriptLoaded NotifyScriptLoaded NotifyScriptLoaded NotifyScriptLoaded

Возвращает или задает значение, указывающее, добавляет ли объект ScriptResourceHandler код в конце файла ECMAScript (JavaScript) автоматически, чтобы вызвать клиентский метод NotifyScriptLoaded класса Sys.Application.Gets or sets a value that indicates whether the ScriptResourceHandler object automatically adds code at the end of the ECMAScript (JavaScript) file to call the client NotifyScriptLoaded method of the Sys.Application class.

(Inherited from ScriptReferenceBase)
Path Path Path Path

Получает или задает путь к файлу клиентского скрипта, на который указывает ссылка, по отношению к веб-странице.Gets or sets the path of the referenced client script file, relative to the Web page.

(Inherited from ScriptReferenceBase)
ResourceUICultures ResourceUICultures ResourceUICultures ResourceUICultures

Возвращает или задает разделенный запятыми список национальных пользовательских интерфейсов, поддерживаемых свойством Path.Gets or sets a comma-delimited list of UI cultures that are supported by the Path property.

(Inherited from ScriptReferenceBase)
ScriptMode ScriptMode ScriptMode ScriptMode

Возвращает или задает версию файла пользовательского скрипта для использования (окончательную или отладочную).Gets or sets the version of the client script file (release or debug) to use.

(Inherited from ScriptReferenceBase)

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
GetUrl(ScriptManager, Boolean) GetUrl(ScriptManager, Boolean) GetUrl(ScriptManager, Boolean) GetUrl(ScriptManager, Boolean)

Извлекает URL-адрес, отображаемый в качестве атрибута src элемента script.Retrieves the URL that is rendered as the value of the src attribute of the script element.

IsAjaxFrameworkScript(ScriptManager) IsAjaxFrameworkScript(ScriptManager) IsAjaxFrameworkScript(ScriptManager) IsAjaxFrameworkScript(ScriptManager)

Определяет, указывает ли данная ссылка на скрипт технологии AJAX ASP.NET.Determines whether the script reference is an AJAX script.

IsFromSystemWebExtensions() IsFromSystemWebExtensions() IsFromSystemWebExtensions() IsFromSystemWebExtensions()

Определяет, содержит ли составной скрипт ссылку на скрипт, написанный с использованием технологии ASP.NET AJAX.Indicates whether the composite script contains a reference to an ASP.NET AJAX framework script.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, которая представляет значение свойства Name или свойства Path, либо имя типа.Returns a string that represents the value of the Name property, the Path property, or the type name.

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