Bagikan melalui


ScriptReference Kelas

Definisi

Mendaftarkan file ECMAScript (JavaScript) untuk digunakan di halaman Web 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
Warisan
ScriptReference

Contoh

Contoh berikut menunjukkan cara mereferensikan kontrol kustom dan file JavaScript yang disematkan dalam rakitan kontrol. Rakitan diasumsikan berada di folder Bin situs Web. Kontrol kustom menganimasikan UpdatePanel kontrol. File JavaScript dikompilasi sebagai sumber daya tersemat yang diberi nama SampleControl.UpdatePanelAnimation.js. Anda mendaftarkan file JavaScript yang disematkan dengan menggunakan Assembly properti dan Name .

Untuk menggunakan contoh ini, kompilasi file JavaScript yang ditampilkan dalam contoh sebagai sumber daya yang disematkan dengan kontrol kustom. Letakkan rakitan yang dihasilkan ke dalam folder Bin situs Web. Untuk contoh cara menyematkan file JavaScript dalam rakitan, lihat Panduan: Menyematkan File JavaScript sebagai Sumber Daya dalam Rakitan.

Contoh berikut menunjukkan halaman yang menggunakan kontrol kustom.

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

Contoh berikut menunjukkan definisi kelas kontrol kustom.

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

Contoh berikut menunjukkan file JavaScript pendukung.

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

Contoh berikut menunjukkan kode yang harus Anda tambahkan ke file AssemblyInfo proyek yang berisi kontrol kustom dan file JavaScript.

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

Keterangan

Anda dapat menyertakan file JavaScript di halaman Web ASP.NET dengan mendaftarkannya melalui ScriptReference objek. Anda dapat mendaftarkan file skrip yang terletak sebagai file .js (file skrip statis) di situs Web. Anda juga dapat mendaftarkan file skrip yang disematkan sebagai sumber daya dalam rakitan. Setelah mendaftarkan file skrip, Anda dapat menggunakan fungsinya dalam skrip klien di halaman Web.

Untuk mendaftarkan file skrip statis, atur Path properti ScriptReference objek ke lokasi relatif file.

Untuk mendaftarkan file skrip yang disematkan sebagai sumber daya dalam rakitan, atur Assembly properti ke nama rakitan yang berisi file. Kemudian atur Name properti ke nama file .js yang disematkan di rakitan. Dalam hal ini, file skrip harus disematkan, tidak ditautkan.

Anda mengatur ScriptMode properti untuk menunjukkan apakah akan menggunakan versi debug atau rilis skrip.

Nilai menghasilkan Auto hasil yang berbeda tergantung pada apakah itu mengacu pada file skrip mandiri atau ke file skrip yang disematkan sebagai sumber daya dalam rakitan. File skrip mandiri ditentukan dengan Path properti . Referensi perakitan harus diakses melalui Name properti dan Assembly . Hasil untuk Auto nilainya adalah sebagai berikut:

  • Ketika diterapkan ke file skrip mandiri di mana Path properti ditentukan, Auto nilainya setara dengan Release.

  • Ketika diterapkan ke referensi skrip dalam rakitan, Auto setara dengan Inherit. Ketika hanya Name ditentukan, skrip digunakan untuk mereferensikan skrip. Ketika Name dan Path properti ditentukan, Path properti digunakan alih-alih Name, tetapi Auto nilainya masih setara dengan Inherit.

Konstruktor

Nama Deskripsi
ScriptReference()

Menginisialisasi instans baru dari kelas ScriptReference.

ScriptReference(String, String)

Menginisialisasi instans ScriptReference baru kelas dengan menggunakan nama dan rakitan tertentu.

ScriptReference(String)

Menginisialisasi instans ScriptReference baru kelas dengan menggunakan jalur tertentu.

Properti

Nama Deskripsi
Assembly

Mendapatkan atau mengatur nama rakitan yang berisi file skrip klien sebagai sumber daya yang disematkan.

IgnoreScriptPath
Kedaluwarsa.

Mendapatkan atau menetapkan nilai yang menunjukkan apakah ScriptPath properti disertakan dalam URL saat Anda mendaftarkan file skrip klien dari sumber daya.

Name

Mendapatkan atau mengatur nama sumber daya yang disematkan yang berisi file skrip klien.

NotifyScriptLoaded
Kedaluwarsa.

Mendapatkan atau menetapkan nilai yang menunjukkan apakah ScriptResourceHandler objek secara otomatis menambahkan kode di akhir file ECMAScript (JavaScript) untuk memanggil metode klien NotifyScriptLoaded kelas Sys.Application .

(Diperoleh dari ScriptReferenceBase)
Path

Mendapatkan atau mengatur jalur file skrip klien yang dirujuk, relatif terhadap halaman Web.

(Diperoleh dari ScriptReferenceBase)
ResourceUICultures

Mendapatkan atau menetapkan daftar budaya UI yang dibatasi koma yang didukung oleh Path properti .

(Diperoleh dari ScriptReferenceBase)
ScriptMode

Mendapatkan atau mengatur versi file skrip klien (rilis atau debug) untuk digunakan.

(Diperoleh dari ScriptReferenceBase)

Metode

Nama Deskripsi
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
GetUrl(ScriptManager, Boolean)

Mengambil URL yang dirender sebagai nilai src atribut script elemen .

IsAjaxFrameworkScript(ScriptManager)

Menentukan apakah referensi skrip adalah skrip AJAX.

IsFromSystemWebExtensions()
Kedaluwarsa.

Menunjukkan apakah skrip komposit berisi referensi ke skrip kerangka kerja AJAX ASP.NET.

MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili nilai Name properti, Path properti, atau nama jenis.

Berlaku untuk