Sdílet prostřednictvím


ScriptReference Třída

Definice

Zaregistruje soubor ECMAScript (JavaScript) pro použití na webové stránce ASP.NET.

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
Dědičnost
ScriptReference

Příklady

Následující příklad ukazuje, jak odkazovat na vlastní ovládací prvek a javascriptový soubor, který je vložen do sestavení ovládacího prvku. Sestavení se předpokládá, že je ve složce Bin webu. Vlastní ovládací prvek animuje UpdatePanel ovládací prvky. JavaScriptový soubor je zkompilován jako vložený prostředek s názvem SampleControl.UpdatePanelAnimation.js. Vložený javascriptový soubor zaregistrujete pomocí Assembly vlastností a Name vlastností.

Chcete-li použít tento příklad, zkompilujte javascriptový soubor, který je zobrazený v příkladu jako vložený prostředek s vlastním ovládacím prostředkem. Vložte výsledné sestavení do složky Bin webu. Příklad vložení souboru JavaScriptu do sestavení najdete v části Návod: Vložení souboru JavaScriptu jako prostředku do sestavení.

Následující příklad ukazuje stránku, která používá vlastní ovládací prvek.

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

Následující příklad ukazuje definici vlastní třídy ovládacího prvku.

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

Následující příklad ukazuje podpůrný javascriptový soubor.

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

Následující příklad ukazuje kód, který musíte přidat do souboru AssemblyInfo projektu, který obsahuje vlastní ovládací prvek a javascriptový soubor.

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

Poznámky

Soubor JavaScriptu můžete zahrnout na ASP.NET webové stránce tak, že ho zaregistrujete prostřednictvím objektu ScriptReference . Můžete zaregistrovat soubor skriptu, který se nachází jako soubor .js (soubor statického skriptu) na webu. Můžete také zaregistrovat soubor skriptu, který je vložen jako prostředek v sestavení. Po registraci souboru skriptu můžete použít jeho funkce v klientském skriptu na webové stránce.

Chcete-li zaregistrovat soubor statického skriptu, nastavte Path vlastnost ScriptReference objektu na relativní umístění souboru.

Chcete-li zaregistrovat soubor skriptu, který je vložen jako prostředek v sestavení, nastavte Assembly vlastnost na název sestavení, které obsahuje soubor. Potom nastavte Name vlastnost na název .js souboru, který je vložen do sestavení. V takovém případě musí být soubor skriptu vložen, nikoli propojený.

Vlastnost nastavíte ScriptMode tak, aby označí, zda se má použít ladicí nebo vydané verze skriptu.

Hodnota Auto vytváří různé výsledky v závislosti na tom, zda odkazuje na samostatný soubor skriptu nebo na soubor skriptu, který je vložen jako prostředek v sestavení. Soubor samostatného skriptu je definován s Path vlastností. Odkaz na sestavení musí být přístupný prostřednictvím Name vlastností a Assembly vlastností. Výsledky pro Auto hodnotu jsou následující:

  • Při použití na samostatný soubor skriptu, kde Path je vlastnost zadána, Auto je hodnota ekvivalentní Release.

  • Při použití na odkaz skriptu v sestavení, Auto je ekvivalentní Inherit. Je-li zadán pouze Name , slouží k odkazování na skript. Pokud Name i Path vlastnost jsou zadány, Path vlastnost je použita místo Name, ale Auto hodnota je stále ekvivalentní Inherit.

Konstruktory

Name Description
ScriptReference()

Inicializuje novou instanci ScriptReference třídy.

ScriptReference(String, String)

Inicializuje novou instanci ScriptReference třídy pomocí zadaného názvu a sestavení.

ScriptReference(String)

Inicializuje novou instanci ScriptReference třídy pomocí zadané cesty.

Vlastnosti

Name Description
Assembly

Získá nebo nastaví název sestavení, který obsahuje soubor klientského skriptu jako vložený prostředek.

IgnoreScriptPath
Zastaralé.

Získá nebo nastaví hodnotu, která určuje, zda ScriptPath vlastnost je zahrnuta v adrese URL při registraci souboru klientského skriptu z prostředku.

Name

Získá nebo nastaví název vloženého prostředku, který obsahuje soubor klientského skriptu.

NotifyScriptLoaded
Zastaralé.

Získá nebo nastaví hodnotu, která určuje, zda ScriptResourceHandler objekt automaticky přidá kód na konec souboru ECMAScript (JavaScript) pro volání metody klienta NotifyScriptLoadedtřídy Sys.Application .

(Zděděno od ScriptReferenceBase)
Path

Získá nebo nastaví cestu k odkazovanému souboru klientského skriptu vzhledem k webové stránce.

(Zděděno od ScriptReferenceBase)
ResourceUICultures

Získá nebo nastaví čárkami oddělený seznam jazykových verzí uživatelského rozhraní, které jsou podporovány Path vlastností.

(Zděděno od ScriptReferenceBase)
ScriptMode

Získá nebo nastaví verzi souboru klientského skriptu (verze nebo ladění), která se má použít.

(Zděděno od ScriptReferenceBase)

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
GetUrl(ScriptManager, Boolean)

Načte adresu URL, která se vykreslí jako hodnota src atributu elementu script .

IsAjaxFrameworkScript(ScriptManager)

Určuje, zda je odkazem na skript AJAX.

IsFromSystemWebExtensions()
Zastaralé.

Určuje, zda složený skript obsahuje odkaz na ASP.NET skript architektury AJAX.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje hodnotu Name vlastnosti, Path vlastnosti nebo názvu typu.

Platí pro