ScriptReference Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rejestruje plik ECMAScript (JavaScript) do użycia na stronie internetowej 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
- Dziedziczenie
Przykłady
W poniższym przykładzie pokazano, jak odwoływać się do niestandardowej kontrolki i pliku JavaScript osadzonego w zestawie kontrolek. Zakłada się, że zestaw znajduje się w folderze Bin witryny sieci Web. Kontrolka niestandardowa animuje kontrolki UpdatePanel . Plik JavaScript jest kompilowany jako zasób osadzony o nazwie SampleControl.UpdatePanelAnimation.js. Osadzony plik JavaScript można zarejestrować przy użyciu właściwości Assembly i Name .
Aby użyć tego przykładu, skompiluj plik JavaScript pokazany w przykładzie jako zasób osadzony z kontrolką niestandardową. Umieść wynikowy zestaw w folderze Bin witryny sieci Web. Aby zapoznać się z przykładem osadzania pliku JavaScript w zestawie, zobacz Przewodnik: osadzanie pliku JavaScript jako zasobu w zestawie.
W poniższym przykładzie pokazano stronę korzystającą z kontrolki niestandardowej.
<%@ 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>
W poniższym przykładzie przedstawiono niestandardową definicję klasy kontrolek.
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
W poniższym przykładzie pokazano pomocniczy plik JavaScript.
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);
}
}
Poniższy przykład przedstawia kod, który należy dodać do pliku AssemblyInfo projektu zawierającego kontrolkę niestandardową i plik JavaScript.
[assembly: System.Web.UI.WebResource("SampleControl.UpdatePanelAnimation.js", "application/x-javascript")]
<Assembly: System.Web.UI.WebResource("SampleControl.UpdatePanelAnimation.js", "application/x-javascript")>
Uwagi
Plik JavaScript można uwzględnić na stronie ASP.NET sieci Web, rejestrując go za pomocą ScriptReference obiektu. Możesz zarejestrować plik skryptu, który znajduje się jako plik .js (plik skryptu statycznego) w witrynie sieci Web. Możesz również zarejestrować plik skryptu osadzony jako zasób w zestawie. Po zarejestrowaniu pliku skryptu można użyć jego funkcji w skryfcie klienta na stronie sieci Web.
Aby zarejestrować plik skryptu statycznego, ustaw Path właściwość ScriptReference obiektu na względną lokalizację pliku.
Aby zarejestrować plik skryptu osadzony jako zasób w zestawie, ustaw Assembly właściwość na nazwę zestawu zawierającego plik. Następnie ustaw Name właściwość na nazwę pliku .js osadzonego w zestawie. W takim przypadku plik skryptu musi być osadzony, a nie połączony.
Należy ustawić ScriptMode właściwość , aby wskazać, czy używać wersji debugowania lub wydania skryptu.
Wartość Auto generuje różne wyniki w zależności od tego, czy odwołuje się do pliku skryptu autonomicznego, czy do pliku skryptu osadzonego jako zasób w zestawie. Autonomiczny plik skryptu jest definiowany za pomocą Path właściwości . Dostęp do odwołania do zestawu należy uzyskać za pośrednictwem Name właściwości i Assembly . Wyniki dla Auto wartości są następujące:
Po zastosowaniu go do autonomicznego pliku skryptu, w którym Path określono właściwość, Auto wartość jest równoważna Release.
Zastosowanie go do odwołania do skryptu w zestawie Auto jest równoważne .Inherit Po określeniu parametru Name jest on używany do odwoływanie się do skryptu. Gdy Name i Path właściwość są określone, Path właściwość jest używana zamiast Name, ale wartość jest nadal równoważna Auto Inherit.
Konstruktory
ScriptReference() |
Inicjuje nowe wystąpienie klasy ScriptReference. |
ScriptReference(String) |
Inicjuje ScriptReference nowe wystąpienie klasy przy użyciu określonej ścieżki. |
ScriptReference(String, String) |
Inicjuje ScriptReference nowe wystąpienie klasy przy użyciu określonej nazwy i zestawu. |
Właściwości
Assembly |
Pobiera lub ustawia nazwę zestawu zawierającego plik skryptu klienta jako zasób osadzony. |
IgnoreScriptPath |
Nieaktualne.
Pobiera lub ustawia wartość wskazującą, czy ScriptPath właściwość jest uwzględniona w adresie URL podczas rejestrowania pliku skryptu klienta z zasobu. |
Name |
Pobiera lub ustawia nazwę osadzonego zasobu zawierającego plik skryptu klienta. |
NotifyScriptLoaded |
Nieaktualne.
Pobiera lub ustawia wartość, która wskazuje, czy obiekt automatycznie dodaje kod na końcu pliku ECMAScript (JavaScript) w celu wywołania metody klienta klasy ScriptResourceHandler NotifyScriptLoaded Sys.Application. (Odziedziczone po ScriptReferenceBase) |
Path |
Pobiera lub ustawia ścieżkę przywołynego pliku skryptu klienta względem strony sieci Web. (Odziedziczone po ScriptReferenceBase) |
ResourceUICultures |
Pobiera lub ustawia rozdzielaną przecinkami listę kultur interfejsu użytkownika obsługiwanych przez Path właściwość . (Odziedziczone po ScriptReferenceBase) |
ScriptMode |
Pobiera lub ustawia wersję pliku skryptu klienta (wersja lub debugowanie) do użycia. (Odziedziczone po ScriptReferenceBase) |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
GetUrl(ScriptManager, Boolean) |
Pobiera adres URL renderowany jako wartość |
IsAjaxFrameworkScript(ScriptManager) |
Określa, czy odwołanie do skryptu jest skryptem AJAX. |
IsAjaxFrameworkScript(ScriptManager) |
Określa, czy określone odwołanie do skryptu jest ASP.NET AJAX. (Odziedziczone po ScriptReferenceBase) |
IsFromSystemWebExtensions() |
Nieaktualne.
Wskazuje, czy skrypt złożony zawiera odwołanie do skryptu platformy AJAX ASP.NET. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący wartość Name właściwości, Path właściwości lub nazwy typu. |