ScriptReference Klasa

Definicja

Rejestruje plik ECMAScript (JavaScript) do użycia na stronie sieci Web 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
Dziedziczenie
ScriptReference

Przykłady

Poniższy przykład pokazuje, jak odwołać się do kontrolki niestandardowej i pliku JavaScript, który jest osadzony w zestawie formantu.The following example shows how to reference a custom control and a JavaScript file that is embedded in the control assembly. Przyjęto, że zestaw znajduje się w folderze bin witryny sieci Web.The assembly is assumed to be in the Bin folder of the Web site. Kontrolka niestandardowa Animuj UpdatePanel kontrolki.The custom control animates UpdatePanel controls. Plik JavaScript jest kompilowany jako osadzony zasób o nazwie SampleControl.UpdatePanelAnimation.js.The JavaScript file is compiled as an embedded resource that is named SampleControl.UpdatePanelAnimation.js. Osadzony plik JavaScript można zarejestrować przy użyciu Assembly właściwości i Name .You register the embedded JavaScript file by using the Assembly and Name properties.

Aby użyć tego przykładu, skompiluj plik JavaScript, który jest wyświetlany w przykładzie jako osadzony zasób z kontrolką niestandardową.To use this example, compile the JavaScript file that is shown in the example as an embedded resource with the custom control. Umieść zestaw wynikający z folderu bin witryny sieci Web.Put the resulting assembly into the Bin folder of the Web site. Aby zapoznać się z przykładem sposobu osadzenia pliku JavaScript w zestawie, zobacz Przewodnik: osadzanie pliku JavaScript jako zasobu w zestawie.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.

Poniższy przykład pokazuje stronę, która używa kontrolki niestandardowej.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>

W poniższym przykładzie przedstawiono definicję klasy kontrolek niestandardowych.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

Poniższy przykład pokazuje pomocniczy plik 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);
    }
}
        

W poniższym przykładzie przedstawiono kod, który należy dodać do pliku AssemblyInfo projektu, który zawiera kontrolkę niestandardową i plik 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")> 

Uwagi

Możesz dołączyć plik JavaScript na stronie sieci Web ASP.NET, rejestrując go za pomocą ScriptReference obiektu.You can include a JavaScript file on an ASP.NET Web page by registering it through a ScriptReference object. Plik skryptu, który znajduje się w pliku. js (statyczny plik skryptu), można zarejestrować w witrynie sieci Web.You can register a script file that is located as a .js file (a static script file) on the Web site. Można również zarejestrować plik skryptu, który jest osadzony jako zasób w zestawie.You can also register a script file that is embedded as a resource in an assembly. Po zarejestrowaniu pliku skryptu można użyć jego funkcji w skrypcie klienta na stronie sieci Web.After registering the script file, you can use its functions in client script on the Web page.

Aby zarejestrować statyczny plik skryptu, ustaw Path Właściwość ScriptReference obiektu na względną lokalizację pliku.To register a static script file, set the Path property of the ScriptReference object to the relative location of the file.

Aby zarejestrować plik skryptu, który jest osadzony jako zasób w zestawie, należy ustawić Assembly Właściwość na nazwę zestawu, który zawiera plik.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. Następnie ustaw Name Właściwość na nazwę pliku js, który jest osadzony w zestawie.Then set the Name property to the name of the .js file that is embedded in the assembly. W takim przypadku plik skryptu musi być osadzony, a nie połączony.In that case, the script file must be embedded, not linked.

Należy ustawić ScriptMode Właściwość, aby wskazać, czy ma być używana wersja Debug lub Release skryptu.You set the ScriptMode property to indicate whether to use the debug or release version of the script.

AutoWartość daje różne wyniki w zależności od tego, czy odwołuje się do autonomicznego pliku skryptu, czy do pliku skryptu osadzonego jako zasób w zestawie.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. Autonomiczny plik skryptu jest zdefiniowany za pomocą Path właściwości.A standalone script file is defined with the Path property. Do odwołania do zestawu należy uzyskać dostęp za Name pomocą Assembly właściwości i.An assembly reference must be accessed through the Name and Assembly properties. Wyniki dla Auto wartości są następujące:The results for the Auto value are as follows:

  • Gdy zostanie on zastosowany do autonomicznego pliku skryptu, w którym Path Właściwość jest określona, Auto wartość jest równoważna z Release .When it is applied to a standalone script file where the Path property is specified, the Auto value is equivalent to Release.

  • Gdy zostanie on zastosowany do odwołania do skryptu w zestawie, Auto jest równoważne Inherit .When it is applied to a script reference in an assembly, Auto is equivalent to Inherit. Gdy Name jest określony tylko, jest używany do odwoływania się do skryptu.When only Name is specified, it is used to reference the script. Gdy Name Właściwość jest Path jednocześnie określona, Path Właściwość jest używana zamiast Name , ale Auto wartość jest nadal odpowiednikiem Inherit .When 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.

Konstruktory

ScriptReference()

Inicjuje nowe wystąpienie klasy ScriptReference.Initializes a new instance of the ScriptReference class.

ScriptReference(String)

Inicjuje nowe wystąpienie ScriptReference klasy przy użyciu określonej ścieżki.Initializes a new instance of the ScriptReference class by using a specified path.

ScriptReference(String, String)

Inicjuje nowe wystąpienie ScriptReference klasy za pomocą określonej nazwy i zestawu.Initializes a new instance of the ScriptReference class by using a specified name and assembly.

Właściwości

Assembly

Pobiera lub ustawia nazwę zestawu, który zawiera plik skryptu klienta jako zasób osadzony.Gets or sets the name of the assembly that contains the client script file as an embedded resource.

IgnoreScriptPath
Nieaktualne.

Pobiera lub ustawia wartość wskazującą, czy ScriptPath Właściwość jest uwzględniona w adresie URL podczas rejestrowania pliku skryptu klienta na podstawie zasobu.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

Pobiera lub ustawia nazwę zasobu osadzonego, który zawiera plik skryptu klienta.Gets or sets the name of the embedded resource that contains the client script file.

NotifyScriptLoaded
Nieaktualne.

Pobiera lub ustawia wartość wskazującą, czy ScriptResourceHandler obiekt automatycznie dodaje kod na końcu pliku ECMAScript (JavaScript) w celu wywołania NotifyScriptLoaded metody klienta klasy 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.

(Odziedziczone po ScriptReferenceBase)
Path

Pobiera lub ustawia ścieżkę pliku skryptu klienta, do którego odwołuje się Strona sieci Web.Gets or sets the path of the referenced client script file, relative to the Web page.

(Odziedziczone po ScriptReferenceBase)
ResourceUICultures

Pobiera lub ustawia rozdzielaną przecinkami listę kultur UI, które są obsługiwane przez Path Właściwość.Gets or sets a comma-delimited list of UI cultures that are supported by the Path property.

(Odziedziczone po ScriptReferenceBase)
ScriptMode

Pobiera lub ustawia wersję pliku skryptu klienta (wersja lub debugowanie) do użycia.Gets or sets the version of the client script file (release or debug) to use.

(Odziedziczone po ScriptReferenceBase)

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
GetUrl(ScriptManager, Boolean)

Pobiera adres URL, który jest renderowany jako wartość src atrybutu script elementu.Retrieves the URL that is rendered as the value of the src attribute of the script element.

IsAjaxFrameworkScript(ScriptManager)

Określa, czy odwołanie do skryptu jest skryptem AJAX.Determines whether the script reference is an AJAX script.

IsAjaxFrameworkScript(ScriptManager)

Określa, czy określone odwołanie do skryptu jest skryptem AJAX ASP.NET.Determines whether the specified script reference is an ASP.NET AJAX script.

(Odziedziczone po ScriptReferenceBase)
IsFromSystemWebExtensions()
Nieaktualne.

Wskazuje, czy złożony skrypt zawiera odwołanie do skryptu ASP.NET AJAX Framework.Indicates whether the composite script contains a reference to an ASP.NET AJAX framework script.

MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg, który reprezentuje wartość Name właściwości, Path Właściwość lub nazwę typu.Returns a string that represents the value of the Name property, the Path property, or the type name.

Dotyczy