ScriptReference Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Registrerar en ECMAScript-fil (JavaScript) för användning på en ASP.NET webbsida.
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
- Arv
Exempel
I följande exempel visas hur du refererar till en anpassad kontroll och en JavaScript-fil som är inbäddad i kontrollsammansättningen. Sammansättningen antas finnas i mappen Bin på webbplatsen. Den anpassade kontrollen animerar UpdatePanel kontroller. JavaScript-filen kompileras som en inbäddad resurs med namnet SampleControl.UpdatePanelAnimation.js. Du registrerar den inbäddade JavaScript-filen med hjälp Assembly av egenskaperna och Name .
Kompilera JavaScript-filen som visas i exemplet som en inbäddad resurs med den anpassade kontrollen om du vill använda det här exemplet. Placera den resulterande sammansättningen i mappen Bin på webbplatsen. Ett exempel på hur du bäddar in en JavaScript-fil i en sammansättning finns i Genomgång: Bädda in en JavaScript-fil som en resurs i en sammansättning.
I följande exempel visas en sida som använder den anpassade kontrollen.
<%@ 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>
I följande exempel visas definitionen för den anpassade kontrollklassen.
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
I följande exempel visas den JavaScript-fil som stöder.
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);
}
}
I följande exempel visas kod som du måste lägga till i AssemblyInfo-filen för projektet som innehåller den anpassade kontrollen och JavaScript-filen.
[assembly: System.Web.UI.WebResource("SampleControl.UpdatePanelAnimation.js", "application/x-javascript")]
<Assembly: System.Web.UI.WebResource("SampleControl.UpdatePanelAnimation.js", "application/x-javascript")>
Kommentarer
Du kan inkludera en JavaScript-fil på en ASP.NET webbsida genom att registrera den via ett ScriptReference-objekt. Du kan registrera en skriptfil som finns som en .js fil (en statisk skriptfil) på webbplatsen. Du kan också registrera en skriptfil som är inbäddad som en resurs i en sammansättning. När du har registrerat skriptfilen kan du använda dess funktioner i klientskriptet på webbsidan.
Om du vill registrera en statisk skriptfil anger du Path objektets ScriptReference egenskap till den relativa platsen för filen.
Om du vill registrera en skriptfil som är inbäddad som en resurs i en sammansättning anger du Assembly egenskapen till namnet på den sammansättning som innehåller filen. Ange Name sedan egenskapen till namnet på den .js fil som är inbäddad i sammansättningen. I så fall måste skriptfilen vara inbäddad, inte länkad.
Du anger ScriptMode egenskapen för att ange om du vill använda felsöknings- eller versionsversionen av skriptet.
Värdet Auto ger olika resultat beroende på om det refererar till en fristående skriptfil eller till en skriptfil som är inbäddad som en resurs i en sammansättning. En fristående skriptfil definieras med Path egenskapen . En sammansättningsreferens måste nås via Name egenskaperna och Assembly . Resultatet för Auto värdet är följande:
När den tillämpas på en fristående skriptfil där Path egenskapen har angetts Auto motsvarar Releasevärdet .
När den tillämpas på en skriptreferens i en sammansättning Auto motsvarar Inheritden . När endast Name anges används det för att referera till skriptet. När Name och egenskapen Path båda anges Path används egenskapen i stället för Name, men Auto värdet motsvarar Inheritfortfarande .
Konstruktorer
| Name | Description |
|---|---|
| ScriptReference() |
Initierar en ny instans av ScriptReference klassen. |
| ScriptReference(String, String) |
Initierar en ny instans av ScriptReference klassen med hjälp av ett angivet namn och en angiven sammansättning. |
| ScriptReference(String) |
Initierar en ny instans av ScriptReference klassen med hjälp av en angiven sökväg. |
Egenskaper
| Name | Description |
|---|---|
| Assembly |
Hämtar eller anger namnet på sammansättningen som innehåller klientskriptfilen som en inbäddad resurs. |
| IgnoreScriptPath |
Föråldrad.
Hämtar eller anger ett värde som anger om ScriptPath egenskapen ingår i URL:en när du registrerar en klientskriptfil från en resurs. |
| Name |
Hämtar eller anger namnet på den inbäddade resurs som innehåller klientskriptfilen. |
| NotifyScriptLoaded |
Föråldrad.
Hämtar eller anger ett värde som anger om ScriptResourceHandler objektet automatiskt lägger till kod i slutet av FILEN ECMAScript (JavaScript) för att anropa klientmetoden NotifyScriptLoaded för klassen Sys.Application . (Ärvd från ScriptReferenceBase) |
| Path |
Hämtar eller anger sökvägen till den refererade klientskriptfilen i förhållande till webbsidan. (Ärvd från ScriptReferenceBase) |
| ResourceUICultures |
Hämtar eller anger en kommaavgränsad lista över användargränssnittskulturer som stöds av egenskapen Path . (Ärvd från ScriptReferenceBase) |
| ScriptMode |
Hämtar eller anger vilken version av klientskriptfilen (version eller felsökning) som ska användas. (Ärvd från ScriptReferenceBase) |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| GetUrl(ScriptManager, Boolean) |
Hämtar url:en som återges som värdet för |
| IsAjaxFrameworkScript(ScriptManager) |
Avgör om skriptreferensen är ett AJAX-skript. |
| IsFromSystemWebExtensions() |
Föråldrad.
Anger om det sammansatta skriptet innehåller en referens till ett ASP.NET AJAX-ramverksskript. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar värdet för Name egenskapen, Path egenskapen eller typnamnet. |