ScriptReference Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
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 |
| 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. |