Aracılığıyla paylaş


ScriptReference Sınıf

Tanım

ASP.NET Web sayfasında kullanmak ü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 örnekte, bir özel denetime ve denetim derlemesine eklenmiş bir JavaScript dosyasına nasıl başvurduğunuz gösterilmektedir. Derlemenin Web sitesinin Bin klasöründe olduğu varsayılır. Özel denetim denetimlere animasyon ekler UpdatePanel . JavaScript dosyası, SampleControl.UpdatePanelAnimation.jsadlı 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. Sonuçta elde edilen derlemeyi Web sitesinin Bin klasörüne yerleştirin. JavaScript dosyasını derlemeye 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 örnek, özel denetimi ve JavaScript dosyasını içeren projenin AssemblyInfo dosyasına eklemeniz gereken kodu gösterir.

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

Açıklamalar

ASP.NET Web sayfasına bir nesne aracılığıyla ScriptReference kaydederek bir JavaScript dosyası 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, web sayfasındaki istemci betiğinde işlevlerini kullanabilirsiniz.

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

Bir derlemeye kaynak olarak eklenmiş bir betik dosyasını kaydetmek için, özelliğini dosyayı içeren derlemenin adı olarak 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 sürüm 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 NameAssembly erişilmelidir. Değerin Auto sonuçları aşağıdaki gibidir:

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

  • 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. Name hem de özelliği belirtildiğinde PathPath, özelliği yerine Namekullanılır, ancak Auto değer yine ile Inheriteşdeğerdir.

Oluşturucular

Name Description
ScriptReference()

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

ScriptReference(String, String)

Belirtilen adı ve derlemeyi kullanarak sınıfın ScriptReference 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.

Özellikler

Name Description
Assembly

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

IgnoreScriptPath
Geçersiz.

Bir kaynaktan istemci betik dosyası 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 ekli kaynağın adını alır veya ayarlar.

NotifyScriptLoaded
Geçersiz.

Nesnenin ScriptResourceHandlerSys.Application sınıfının istemci NotifyScriptLoaded 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şvuruda bulunulmuş istemci betik dosyasının yolunu alır veya ayarlar.

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

özelliği tarafından Path desteklenen kullanıcı arabirimi kültürlerinin virgülle ayrılmış listesini alır veya ayarlar.

(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

Name Description
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()

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

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

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

IsAjaxFrameworkScript(ScriptManager)

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

IsFromSystemWebExtensions()
Geçersiz.

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

MemberwiseClone()

Geçerli Objectbasit 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