ScriptReference Sınıf

Tanım

ASP.NET Web sayfasında kullanılmak üzere bir ECMAScript (JavaScript) dosyası kaydeder.

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
Devralma
ScriptReference

Örnekler

Aşağıdaki örnek, özel denetime ve denetim derlemesine eklenmiş bir JavaScript dosyasına nasıl başvurduğunu gösterir. Derlemenin Web sitesinin Bin klasöründe olduğu varsayılır. Özel denetim, denetimlere animasyon ekler UpdatePanel . JavaScript dosyası, SampleControl.UpdatePanelAnimation.js adlı ekli bir kaynak olarak derlenmiş. Ekli JavaScript dosyasını ve Name özelliklerini kullanarak Assembly kaydedersiniz.

Bu örneği kullanmak için örnekte özel denetime sahip ekli kaynak olarak gösterilen JavaScript dosyasını derleyin. Elde edilen derlemeyi Web sitesinin Bin klasörüne yerleştirin. Derlemeye JavaScript dosyası ekleme örneği için bkz. İzlenecek yol: JavaScript Dosyasını Derlemeye Kaynak Olarak Ekleme.

Aşağıdaki örnekte özel denetimi kullanan bir sayfa gösterilmektedir.

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

Aşağıdaki örnekte özel denetim sınıfı tanımı gösterilmektedir.

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

Aşağıdaki örnekte desteklenen JavaScript dosyası gösterilmektedir.

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

Aşağıdaki örnekte, özel denetimi ve JavaScript dosyasını içeren projenin AssemblyInfo dosyasına eklemeniz gereken kod gösterilmektedir.

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

Açıklamalar

JavaScript dosyasını bir ASP.NET Web sayfasına bir ScriptReference nesne aracılığıyla kaydederek ekleyebilirsiniz. Web sitesinde .js dosyası (statik betik dosyası) olarak bulunan bir betik dosyasını kaydedebilirsiniz. Ayrıca, bir derlemeye kaynak olarak eklenmiş bir betik dosyasını da kaydedebilirsiniz. Betik dosyasını kaydettikten sonra, işlevlerini Web sayfasındaki istemci betiğinde kullanabilirsiniz.

Statik betik dosyasını kaydetmek için nesnesinin ScriptReference özelliğini dosyanın göreli konumuna ayarlayınPath.

Bir derlemeye kaynak olarak eklenmiş bir betik dosyasını kaydetmek için, özelliğini dosyayı içeren derlemenin adına ayarlayın Assembly . Ardından özelliğini derlemeye eklenmiş .js dosyasının adına ayarlayın Name . Bu durumda, betik dosyası bağlı değil eklenmelidir.

özelliğini, betiğin ScriptMode hata ayıklama veya yayın sürümünün kullanılıp kullanılmayacağını gösterecek şekilde ayarlarsınız.

Değer, Auto tek başına bir betik dosyasına mı yoksa bir derlemeye kaynak olarak eklenmiş bir betik dosyasına mı başvurduğuna bağlı olarak farklı sonuçlar üretir. Özelliğiyle Path tek başına bir betik dosyası tanımlanır. Ve özellikleri aracılığıyla bir derleme başvurusuna Name Assembly erişilmelidir. Değerin Auto sonuçları aşağıdaki gibidir:

  • Özelliğin belirtildiği tek başına bir betik dosyasına uygulandığında Path Auto , değeri ile Releaseeşdeğerdir.

  • Bir derlemedeki bir betik başvurusuna uygulandığında, Auto ile Inheriteşdeğerdir. Yalnızca Name belirtildiğinde, betiği başvurmak için kullanılır. ve Name Path özelliği her ikisi de belirtildiğinde Path , yerine özelliği kullanılır Name, ancak Auto değer yine de ile Inheriteşdeğerdir.

Oluşturucular

ScriptReference()

ScriptReference sınıfının yeni bir örneğini başlatır.

ScriptReference(String)

Belirtilen yolu kullanarak sınıfının yeni bir örneğini ScriptReference başlatır.

ScriptReference(String, String)

Belirtilen adı ve derlemeyi kullanarak sınıfın ScriptReference yeni bir örneğini başlatır.

Özellikler

Assembly

İstemci betik dosyasını içeren derlemenin adını ekli kaynak olarak alır veya ayarlar.

IgnoreScriptPath
Kullanımdan kalktı.

Bir kaynaktan istemci betik dosyasını kaydettiğinizde özelliğin ScriptPath URL'ye eklenip eklenmediğini belirten bir değer alır veya ayarlar.

Name

İstemci betik dosyasını içeren eklenmiş kaynağın adını alır veya ayarlar.

NotifyScriptLoaded
Kullanımdan kalktı.

ScriptResourceHandlerNesnenin, NotifyScriptLoaded sys. Application sınıfının Istemci yöntemini çağırmak için ECMAScript (JavaScript) dosyasının sonuna otomatik olarak kod ekleyip eklemediğini gösteren bir değer alır veya ayarlar.

(Devralındığı yer: ScriptReferenceBase)
Path

Web sayfasına göre başvurulan istemci komut dosyasının yolunu alır veya ayarlar.

(Devralındığı yer: ScriptReferenceBase)
ResourceUICultures

Özelliği tarafından desteklenen UI kültürlerin virgülle ayrılmış bir listesini alır veya ayarlar Path .

(Devralındığı yer: ScriptReferenceBase)
ScriptMode

Kullanılacak istemci betik dosyasının (yayın veya hata ayıklama) sürümünü alır veya ayarlar.

(Devralındığı yer: ScriptReferenceBase)

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
GetUrl(ScriptManager, Boolean)

öğesinin özniteliğinin src değeri olarak işlenen URL'yi script alır.

IsAjaxFrameworkScript(ScriptManager)

Betik başvurusunun bir AJAX betiği olup olmadığını belirler.

IsAjaxFrameworkScript(ScriptManager)

belirtilen komut dosyası başvurusunun ASP.NET AJAX betiği olup olmadığını belirler.

(Devralındığı yer: ScriptReferenceBase)
IsFromSystemWebExtensions()
Kullanımdan kalktı.

Bileşik betiğin ASP.NET AJAX çerçeve betiğine başvuru içerip içermediğini gösterir.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Özelliğin, Path özelliğin Name veya tür adının değerini temsil eden bir dize döndürür.

Şunlara uygulanır