ScriptReference Osztály

Definíció

Regisztrál egy ECMAScript-fájlt (JavaScript) egy ASP.NET weblapon való használatra.

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
Öröklődés
ScriptReference

Példák

Az alábbi példa bemutatja, hogyan hivatkozhat egy egyéni vezérlőre és egy JavaScript-fájlra, amely a vezérlőszerelvénybe van ágyazva. A rendszer feltételezi, hogy a szerelvény a webhely Bin mappájában található. Az egyéni vezérlő animálja a vezérlőket UpdatePanel . A JavaScript-fájl SampleControl.UpdatePanelAnimation.jsnevű beágyazott erőforrásként van lefordítva. A beágyazott JavaScript-fájlt a tulajdonságok és Assembly a Name tulajdonságok használatával regisztrálhatja.

A példa használatához fordítsa le a példában látható JavaScript-fájlt beágyazott erőforrásként az egyéni vezérlővel. Helyezze az eredményül kapott szerelvényt a webhely Bin mappájába. Egy JavaScript-fájl szerelvénybe való beágyazására vonatkozó példa : Útmutató: JavaScript-fájl beágyazása erőforrásként egy szerelvénybe.

Az alábbi példa egy egyéni vezérlőt használó oldalt mutat be.

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

Az alábbi példa az egyéni vezérlőosztály definícióját mutatja be.

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

Az alábbi példa a támogatott JavaScript-fájlt mutatja be.

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);
    }
}

Az alábbi példa az egyéni vezérlőt és a JavaScript-fájlt tartalmazó projekt AssemblyInfo-fájljába felvenni kívánt kódot mutatja be.

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

Megjegyzések

Egy JavaScript-fájlt egy ASP.NET-weblapra is felvehet, ha regisztrálja egy ScriptReference objektumon keresztül. Regisztrálhat egy .js fájlként (statikus szkriptfájlként) található szkriptfájlt a webhelyen. Regisztrálhat egy olyan szkriptfájlt is, amely erőforrásként van beágyazva egy szerelvénybe. A szkriptfájl regisztrálása után a függvényeit a weblap ügyfélszkriptjében használhatja.

Statikus szkriptfájl regisztrálásához állítsa az PathScriptReference objektum tulajdonságát a fájl relatív helyére.

Ha erőforrásként beágyazott szkriptfájlt szeretne regisztrálni egy szerelvényben, állítsa a Assembly tulajdonságot a fájlt tartalmazó szerelvény nevére. Ezután állítsa a Name tulajdonságot a szerelvénybe beágyazott .js fájl nevére. Ebben az esetben a szkriptfájlnak beágyazottnak kell lennie, nem csatoltnak.

A tulajdonság beállításával ScriptMode jelezheti, hogy a szkript hibakeresési vagy kiadási verzióját szeretné-e használni.

Az Auto érték különböző eredményeket eredményez attól függően, hogy önálló szkriptfájlra vagy egy szerelvény erőforrásaként beágyazott szkriptfájlra hivatkozik. A tulajdonsággal Path önálló szkriptfájl van definiálva. A szerelvényhivatkozást a Name tulajdonságokon Assembly keresztül kell elérni. Az érték eredménye a Auto következő:

  • Ha egy különálló szkriptfájlra alkalmazza, ahol a Path tulajdonság meg van adva, az Auto érték egyenértékű a következővel Release: .

  • Ha egy szerelvény szkripthivatkozására alkalmazza, Auto az egyenértékű a következővel Inherit: . Ha csak Name meg van adva, a szkriptre való hivatkozásra szolgál. Amikor Name és a Path tulajdonság is meg van adva, a tulajdonságot használja a Path rendszerName, de az Auto érték továbbra is egyenértékű.Inherit

Konstruktorok

Name Description
ScriptReference()

Inicializálja a ScriptReference osztály új példányát.

ScriptReference(String, String)

Inicializálja az ScriptReference osztály új példányát egy megadott név és szerelvény használatával.

ScriptReference(String)

Inicializálja az ScriptReference osztály új példányát egy megadott elérési út használatával.

Tulajdonságok

Name Description
Assembly

Lekéri vagy beállítja annak a szerelvénynek a nevét, amely beágyazott erőforrásként tartalmazza az ügyfélszkriptfájlt.

IgnoreScriptPath
Elavult.

Lekéri vagy beállít egy értéket, amely jelzi, hogy a ScriptPath tulajdonság szerepel-e az URL-címben, amikor ügyfélszkriptfájlt regisztrál egy erőforrásból.

Name

Lekéri vagy beállítja az ügyfélszkriptfájlt tartalmazó beágyazott erőforrás nevét.

NotifyScriptLoaded
Elavult.

Lekéri vagy beállít egy értéket, amely jelzi, hogy az ScriptResourceHandler objektum automatikusan hozzáadja-e a kódot az ECMAScript -fájl végén a NotifyScriptLoaded osztály ügyfélmetódusának meghívásához.

(Öröklődés forrása ScriptReferenceBase)
Path

Lekéri vagy beállítja a hivatkozott ügyfélszkriptfájl elérési útját a weblaphoz képest.

(Öröklődés forrása ScriptReferenceBase)
ResourceUICultures

Lekéri vagy beállítja a tulajdonság által Path támogatott felhasználói felületi kultúrák vesszővel tagolt listáját.

(Öröklődés forrása ScriptReferenceBase)
ScriptMode

Lekéri vagy beállítja a használni kívánt ügyfélszkriptfájl (kiadás vagy hibakeresés) verzióját.

(Öröklődés forrása ScriptReferenceBase)

Metódusok

Name Description
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
GetUrl(ScriptManager, Boolean)

Lekéri az elem attribútumának srcscript értékeként megjelenített URL-címet.

IsAjaxFrameworkScript(ScriptManager)

Meghatározza, hogy a szkripthivatkozás AJAX-szkript-e.

IsFromSystemWebExtensions()
Elavult.

Azt jelzi, hogy az összetett szkript tartalmaz-e egy ASP.NET AJAX-keretrendszerszkriptre mutató hivatkozást.

MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Olyan sztringet ad vissza, amely a Name tulajdonság, a Path tulajdonság vagy a típusnév értékét jelöli.

A következőre érvényes: