ScriptReference ScriptReference ScriptReference ScriptReference Class

Definition

Registriert eine ECMAScript-Datei (JavaScript) für die Verwendung auf einer ASP.NET-Webseite.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
Vererbung

Beispiele

Das folgende Beispiel zeigt, wie auf ein benutzerdefiniertes Steuerelement und eine JavaScript-Datei verwiesen wird, die in der steuerungsassembly eingebettet ist.The following example shows how to reference a custom control and a JavaScript file that is embedded in the control assembly. Es wird davon ausgegangen, dass sich die Assembly im Ordner "bin" der Website befindet.The assembly is assumed to be in the Bin folder of the Web site. Das benutzerdefinierte Steuerelement UpdatePanel animiert-Steuerelemente.The custom control animates UpdatePanel controls. Die JavaScript-Datei wird als eingebettete Ressource mit dem Namen samplecontrol. UpdatePanelAnimation. js kompiliert.The JavaScript file is compiled as an embedded resource that is named SampleControl.UpdatePanelAnimation.js. Sie registrieren die eingebettete JavaScript-Datei mithilfe Assembly der Name -Eigenschaft und der-Eigenschaft.You register the embedded JavaScript file by using the Assembly and Name properties.

Um dieses Beispiel zu verwenden, kompilieren Sie die JavaScript-Datei, die im Beispiel dargestellt ist, als eingebettete Ressource mit dem benutzerdefinierten-Steuerelement.To use this example, compile the JavaScript file that is shown in the example as an embedded resource with the custom control. Fügen Sie die resultierende Assembly in den Ordner "bin" der Website ein.Put the resulting assembly into the Bin folder of the Web site. Ein Beispiel zum Einbetten einer JavaScript-Datei in eine Assembly finden Sie unter Exemplarische Vorgehensweise: Einbetten einer JavaScript-Datei als Ressource in einerAssembly.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.

Das folgende Beispiel zeigt eine Seite, die das benutzerdefinierte Steuerelement verwendet.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>

Das folgende Beispiel zeigt die Definition der benutzerdefinierten Steuerelement Klasse.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

Das folgende Beispiel zeigt die unterstützende JavaScript-Datei.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);
    }
}
        

Das folgende Beispiel zeigt Code, den Sie der AssemblyInfo-Datei des Projekts hinzufügen müssen, das das benutzerdefinierte Steuerelement und die JavaScript-Datei enthält.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")> 

Hinweise

Sie können eine JavaScript-Datei auf eine ASP.NET-Webseite einschließen, indem Sie Sie ScriptReference über ein-Objekt registrieren.You can include a JavaScript file on an ASP.NET Web page by registering it through a ScriptReference object. Sie können eine Skriptdatei registrieren, die sich als JS-Datei (eine statische Skriptdatei) auf der-Website befindet.You can register a script file that is located as a .js file (a static script file) on the Web site. Sie können auch eine Skriptdatei registrieren, die als Ressource in einer Assembly eingebettet ist.You can also register a script file that is embedded as a resource in an assembly. Nachdem Sie die Skriptdatei registriert haben, können Sie Ihre Funktionen in Client Skripts auf der Webseite verwenden.After registering the script file, you can use its functions in client script on the Web page.

Um eine statische Skriptdatei zu registrieren, legen Path Sie die- ScriptReference Eigenschaft des-Objekts auf den relativen Speicherort der Datei fest.To register a static script file, set the Path property of the ScriptReference object to the relative location of the file.

Um eine Skriptdatei zu registrieren, die als Ressource in einer Assembly eingebettet ist, legen Assembly Sie die-Eigenschaft auf den Namen der Assembly fest, die die Datei enthält.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. Legen Sie dann Name die-Eigenschaft auf den Namen der JS-Datei fest, die in die Assembly eingebettet ist.Then set the Name property to the name of the .js file that is embedded in the assembly. In diesem Fall muss die Skriptdatei eingebettet und nicht verknüpft sein.In that case, the script file must be embedded, not linked.

Sie legen die ScriptMode -Eigenschaft fest, um anzugeben, ob die Debug-oder Releaseversion des Skripts verwendet werden soll.You set the ScriptMode property to indicate whether to use the debug or release version of the script.

Der Auto Wert führt zu unterschiedlichen Ergebnissen, abhängig davon, ob er auf eine eigenständige Skriptdatei oder auf eine Skriptdatei verweist, die als Ressource in einer Assembly eingebettet ist.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. Eine eigenständige Skriptdatei wird mit der Path -Eigenschaft definiert.A standalone script file is defined with the Path property. Auf einen Assemblyverweis muss über Name die Assembly -und-Eigenschaften zugegriffen werden.An assembly reference must be accessed through the Name and Assembly properties. Die Ergebnisse für den Auto Wert lauten wie folgt:The results for the Auto value are as follows:

  • Wenn Sie auf eine eigenständige Skriptdatei angewendet wird, Path in der die-Eigenschaft Auto angegeben ist, entspricht Releaseder Wert.When it is applied to a standalone script file where the Path property is specified, the Auto value is equivalent to Release.

  • Wenn Sie auf einen Skript Verweis in einer Assembly angewendet wird, Auto Inheritentspricht.When it is applied to a script reference in an assembly, Auto is equivalent to Inherit. Wenn nur Name angegeben ist, wird es verwendet, um auf das Skript zu verweisen.When only Name is specified, it is used to reference the script. Wenn Name sowohl als Path auch die-Eigenschaft angegeben wird Path , wird die-Eigenschaft Nameanstelle von verwendet Auto , aber der Wert ist Inheritweiterhin gleich.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.

Konstruktoren

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

Initialisiert eine neue Instanz der ScriptReference-Klasse.Initializes a new instance of the ScriptReference class.

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

Initialisiert unter Verwendung eines angegebenen Pfads eine neue Instanz der ScriptReference-Klasse.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)

Initialisiert unter Verwendung eines angegebenen Namens und einer angegebenen Assembly eine neue Instanz der ScriptReference-Klasse.Initializes a new instance of the ScriptReference class by using a specified name and assembly.

Eigenschaften

Assembly Assembly Assembly Assembly

Ruft den Namen der Assembly ab, die die Clientskriptdatei als eingebettete Ressource enthält, oder legt diesen fest.Gets or sets the name of the assembly that contains the client script file as an embedded resource.

IgnoreScriptPath IgnoreScriptPath IgnoreScriptPath IgnoreScriptPath

Ruft beim Registrieren einer Clientskriptdatei von einer Ressource einen Wert ab, der angibt, ob in der URL die ScriptPath-Eigenschaft enthalten ist, oder legt diesen fest.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

Ruft den Namen der eingebetteten Ressource mit der Clientskriptdatei ab oder legt diesen fest.Gets or sets the name of the embedded resource that contains the client script file.

NotifyScriptLoaded NotifyScriptLoaded NotifyScriptLoaded NotifyScriptLoaded

Ruft einen Wert ab, der angibt, ob das ScriptResourceHandler-Objekt automatisch Code am Ende der ECMAScript-Datei (JavaScript) zum Aufrufen der Client-NotifyScriptLoaded-Methode der Sys.Application-Klasse anfügt, oder legt ihn fest.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

Ruft relativ zur Webseite den Pfad der Clientskriptdatei ab, auf die verwiesen wird, oder legt diesen fest.Gets or sets the path of the referenced client script file, relative to the Web page.

(Inherited from ScriptReferenceBase)
ResourceUICultures ResourceUICultures ResourceUICultures ResourceUICultures

Ruft eine durch Kommas getrennte Liste mit von der Path-Eigenschaft unterstützten UI-Kulturen ab oder legt diese fest.Gets or sets a comma-delimited list of UI cultures that are supported by the Path property.

(Inherited from ScriptReferenceBase)
ScriptMode ScriptMode ScriptMode ScriptMode

Ruft die Version der zu verwendenden Clientskriptdatei (Release- oder Debugversion) ab oder legt diese fest.Gets or sets the version of the client script file (release or debug) to use.

(Inherited from ScriptReferenceBase)

Methoden

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

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

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

Fungiert als Standardhashfunktion.Serves as the default hash function.

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

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

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

Ruft die URL zurück, die als Wert für das src-Attribut des script-Elements gerendert wird.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)

Bestimmt, ob der Skriptverweis ein AJAX-Skript ist.Determines whether the script reference is an AJAX script.

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

Gibt an, ob das zusammengesetzte Skript einen Verweis auf ein ASP.NET-AJAX-Frameworkskript enthältIndicates whether the composite script contains a reference to an ASP.NET AJAX framework script.

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

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

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

Gibt eine Zeichenfolge zurück, die den Wert der Name-Eigenschaft, der Path-Eigenschaft oder den Typnamen darstellt.Returns a string that represents the value of the Name property, the Path property, or the type name.

Gilt für: