ScriptReference Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Inscrit un fichier ECMAScript (JavaScript) pour une utilisation sur une page 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
- Héritage
Exemples
L’exemple suivant montre comment référencer un contrôle personnalisé et un fichier JavaScript incorporé dans l’assembly de contrôle. L’assembly est supposé se trouver dans le dossier Bin du site Web. Le contrôle personnalisé anime les UpdatePanel contrôles. Le fichier JavaScript est compilé en tant que ressource incorporée nommée SampleControl.UpdatePanelAnimation.js. Vous inscrivez le fichier JavaScript incorporé à l’aide des Assembly propriétés et Name .
Pour utiliser cet exemple, compilez le fichier JavaScript présenté dans l’exemple en tant que ressource incorporée avec le contrôle personnalisé. Placez l’assembly résultant dans le dossier Bin du site Web. Pour obtenir un exemple d’incorporation d’un fichier JavaScript dans un assembly, consultez Procédure pas à pas : Incorporation d’un fichier JavaScript en tant que ressource dans un assembly.
L’exemple suivant montre une page qui utilise le contrôle personnalisé.
<%@ 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>
L’exemple suivant montre la définition de la classe de contrôle personnalisée.
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
L’exemple suivant montre le fichier JavaScript de prise en charge.
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);
}
}
L’exemple suivant montre le code que vous devez ajouter au fichier AssemblyInfo du projet qui contient le contrôle personnalisé et le fichier JavaScript.
[assembly: System.Web.UI.WebResource("SampleControl.UpdatePanelAnimation.js", "application/x-javascript")]
<Assembly: System.Web.UI.WebResource("SampleControl.UpdatePanelAnimation.js", "application/x-javascript")>
Remarques
Vous pouvez inclure un fichier JavaScript sur une page web ASP.NET en l’inscrivant via un ScriptReference objet . Vous pouvez inscrire un fichier de script qui se trouve sous la forme d’un fichier .js (fichier de script statique) sur le site Web. Vous pouvez également inscrire un fichier de script incorporé en tant que ressource dans un assembly. Après avoir inscrit le fichier de script, vous pouvez utiliser ses fonctions dans le script client sur la page Web.
Pour inscrire un fichier de script statique, définissez la Path propriété de l’objet ScriptReference sur l’emplacement relatif du fichier.
Pour inscrire un fichier de script incorporé en tant que ressource dans un assembly, définissez la Assembly propriété sur le nom de l’assembly qui contient le fichier. Définissez ensuite la Name propriété sur le nom du fichier .js incorporé dans l’assembly. Dans ce cas, le fichier de script doit être incorporé et non lié.
Vous définissez la ScriptMode propriété pour indiquer s’il faut utiliser la version de débogage ou de mise en production du script.
La Auto valeur produit des résultats différents selon qu’elle fait référence à un fichier de script autonome ou à un fichier de script incorporé en tant que ressource dans un assembly. Un fichier de script autonome est défini avec la Path propriété . Une référence d’assembly doit être accessible via les Name propriétés et Assembly . Les résultats de la Auto valeur sont les suivants :
Lorsqu’elle est appliquée à un fichier de script autonome où la Path propriété est spécifiée, la Auto valeur est équivalente à Release.
Lorsqu’il est appliqué à une référence de script dans un assembly, Auto équivaut à Inherit. Quand seul Name est spécifié, il est utilisé pour référencer le script. Lorsque Name et la Path propriété sont tous deux spécifiés, la Path propriété est utilisée à la place de Name, mais la Auto valeur est toujours équivalente à Inherit.
Constructeurs
ScriptReference() |
Initialise une nouvelle instance de la classe ScriptReference. |
ScriptReference(String) |
Initialise une nouvelle instance de la classe ScriptReference à l'aide d'un chemin d'accès spécifié. |
ScriptReference(String, String) |
Initialise une nouvelle instance de la classe ScriptReference à l'aide d'un nom et d'un assembly spécifiés. |
Propriétés
Assembly |
Obtient ou définit le nom de l'assembly contenant le fichier de script client comme ressource incorporée. |
IgnoreScriptPath |
Obsolète.
Obtient ou définit une valeur qui indique si la propriété ScriptPath est incluse dans l'URL lorsque vous inscrivez un fichier de script client d'une ressource. |
Name |
Obtient ou définit le nom de la ressource incorporée contenant le fichier de script client. |
NotifyScriptLoaded |
Obsolète.
Obtient ou définit une valeur qui indique si l’objet ScriptResourceHandler ajoute automatiquement le code à la fin du fichier ECMAScript (JavaScript) pour appeler la méthode NotifyScriptLoaded du client de la classe Sys.Application. (Hérité de ScriptReferenceBase) |
Path |
Obtient ou définit le chemin d'accès du fichier de script client référencé, par rapport à la page Web. (Hérité de ScriptReferenceBase) |
ResourceUICultures |
Obtient ou définit une liste délimitée par des virgules des cultures d'interface utilisateur prises en charge par la propriété Path. (Hérité de ScriptReferenceBase) |
ScriptMode |
Obtient ou définit la version du fichier de script client (release ou debug) à utiliser. (Hérité de ScriptReferenceBase) |
Méthodes
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
GetUrl(ScriptManager, Boolean) |
Récupère l'URL rendue en tant que valeur de l'attribut |
IsAjaxFrameworkScript(ScriptManager) |
Détermine si la référence de script est un script AJAX. |
IsAjaxFrameworkScript(ScriptManager) |
Détermine si la référence de script spécifiée est un script ASP.NET AJAX. (Hérité de ScriptReferenceBase) |
IsFromSystemWebExtensions() |
Obsolète.
Indique si le script composite contient une référence au script d'infrastructure ASP.NET AJAX. |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente la valeur de la propriété Name, la propriété Path ou le nom de type. |