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 soubor JavaScript, který je vložen v sestavení ovládacího prvku. Předpokládá se, že sestavení je ve složce Bin webu. Vlastní ovládací prvek animuje UpdatePanel ovládací prvky. Soubor JavaScriptu se zkompiluje jako vložený prostředek s názvem SampleControl.UpdatePanelAnimation.js. Vložený javascriptový soubor zaregistrujete pomocí Assembly vlastností a Name .

Pokud chcete použít tento příklad, zkompilujte soubor JavaScriptu, který je v příkladu zobrazený jako vložený prostředek s vlastním ovládacím prvku. Vložte výsledné sestavení do složky Bin webu. Příklad vložení souboru JavaScriptu do sestavení naleznete v tématu 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 třídy vlastního 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ý soubor JavaScriptu.

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 soubor JavaScript.

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

Poznámky

JavaScriptový soubor můžete zahrnout do webové stránky ASP.NET tak, že ho zaregistrujete prostřednictvím objektu ScriptReference . Můžete zaregistrovat soubor skriptu, který je umístěn 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 objektu ScriptReference 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 souboru .js, který je vložen v sestavení. V takovém případě musí být soubor skriptu vložený, ne propojený.

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

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

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

  • Je-li použit na odkaz na skript v sestavení, Auto je ekvivalentní k Inherit. Pokud je zadán pouze Name parametr , použije se k odkazování na skript. Pokud Name jsou zadány Path obě vlastnosti a , Path použije se vlastnost místo Name, ale Auto hodnota je stále ekvivalentní hodnotě Inherit.

Konstruktory

ScriptReference()

Inicializuje novou instanci ScriptReference třídy .

ScriptReference(String)

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

ScriptReference(String, String)

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

Vlastnosti

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á označuje, zda ScriptPath je vlastnost 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 skriptu klienta.

NotifyScriptLoaded
Zastaralé.

Získá nebo nastaví hodnotu, která označuje, zda ScriptResourceHandler objekt automaticky přidá kód na konci 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 skriptu klienta vzhledem k webové stránce.

(Zděděno od ScriptReferenceBase)
ResourceUICultures

Získá nebo nastaví seznam jazykových verzí uživatelského rozhraní oddělených čárkami, 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í) použít.

(Zděděno od ScriptReferenceBase)

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

Slouží jako výchozí hashovací funkce.

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

Type Získá z aktuální instance.

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

Načte adresu URL, která je vykreslena jako hodnota src atributu elementu script .

IsAjaxFrameworkScript(ScriptManager)

Určuje, zda odkaz na skript je skript AJAX.

IsAjaxFrameworkScript(ScriptManager)

Určuje, zda je zadaný odkaz na skript ASP.NET AJAX.

(Zděděno od ScriptReferenceBase)
IsFromSystemWebExtensions()
Zastaralé.

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

MemberwiseClone()

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

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

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

Platí pro