ScriptReference Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Registra un archivo ECMAScript (JavaScript) para su uso en una página 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
- Herencia
Ejemplos
En el ejemplo siguiente se muestra cómo hacer referencia a un control personalizado y a un archivo JavaScript incrustado en el ensamblado de control. Se supone que el ensamblado está en la carpeta Bin del sitio web. El control personalizado anima los UpdatePanel controles. El archivo JavaScript se compila como un recurso incrustado denominado SampleControl.UpdatePanelAnimation.js. El archivo JavaScript insertado se registra mediante las Assembly propiedades y Name .
Para usar este ejemplo, compile el archivo JavaScript que se muestra en el ejemplo como un recurso incrustado con el control personalizado. Coloque el ensamblado resultante en la carpeta Bin del sitio web. Para obtener un ejemplo de cómo insertar un archivo JavaScript en un ensamblado, vea Tutorial: Inserción de un archivo JavaScript como un recurso en un ensamblado.
En el ejemplo siguiente se muestra una página que usa el control personalizado.
<%@ 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>
En el ejemplo siguiente se muestra la definición de clase de control personalizada.
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
En el ejemplo siguiente se muestra el archivo JavaScript compatible.
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);
}
}
En el ejemplo siguiente se muestra el código que debe agregar al archivo AssemblyInfo del proyecto que contiene el control personalizado y el archivo JavaScript.
[assembly: System.Web.UI.WebResource("SampleControl.UpdatePanelAnimation.js", "application/x-javascript")]
<Assembly: System.Web.UI.WebResource("SampleControl.UpdatePanelAnimation.js", "application/x-javascript")>
Comentarios
Puede incluir un archivo JavaScript en una página web de ASP.NET registrándolo a través de un ScriptReference objeto . Puede registrar un archivo de script que se encuentra como un archivo de .js (un archivo de script estático) en el sitio web. También puede registrar un archivo de script incrustado como un recurso en un ensamblado. Después de registrar el archivo de script, puede usar sus funciones en el script de cliente en la página web.
Para registrar un archivo de script estático, establezca la Path propiedad del ScriptReference objeto en la ubicación relativa del archivo.
Para registrar un archivo de script incrustado como recurso en un ensamblado, establezca la Assembly propiedad en el nombre del ensamblado que contiene el archivo. A continuación, establezca la Name propiedad en el nombre del archivo .js incrustado en el ensamblado. En ese caso, el archivo de script debe estar incrustado, no vinculado.
Establezca la ScriptMode propiedad para indicar si se va a usar la versión de depuración o versión del script.
El Auto valor genera resultados diferentes en función de si hace referencia a un archivo de script independiente o a un archivo de script incrustado como un recurso en un ensamblado. Un archivo de script independiente se define con la Path propiedad . Se debe tener acceso a una referencia de ensamblado a través de las Name propiedades y Assembly . Los resultados del Auto valor son los siguientes:
Cuando se aplica a un archivo de script independiente donde se especifica la Path propiedad, el Auto valor es equivalente a Release.
Cuando se aplica a una referencia de script en un ensamblado, Auto es equivalente a Inherit. Cuando solo Name se especifica , se usa para hacer referencia al script. Cuando Name se especifican y la Path propiedad , la Path propiedad se usa en lugar de Name, pero el Auto valor sigue siendo equivalente a Inherit.
Constructores
ScriptReference() |
Inicializa una nueva instancia de la clase ScriptReference. |
ScriptReference(String) |
Inicializa una nueva instancia de la clase ScriptReference utilizando una ruta de acceso especificada. |
ScriptReference(String, String) |
Inicializa una nueva instancia de la clase ScriptReference utilizando un nombre y ensamblado especificados. |
Propiedades
Assembly |
Obtiene o establece el nombre del ensamblado que contiene el archivo de script de cliente como recurso incrustado. |
IgnoreScriptPath |
Obsoletos.
Obtiene o establece un valor que indica si la propiedad ScriptPath se incluye en la dirección URL cuando se registra un archivo de script de cliente desde un recurso. |
Name |
Obtiene o establece el nombre del recurso incrustado que contiene el archivo de script de cliente. |
NotifyScriptLoaded |
Obsoletos.
Obtiene o establece un valor que indica si el objeto ScriptResourceHandler agrega automáticamente código al final del archivo ECMAScript (JavaScript) para llamar al método NotifyScriptLoaded del cliente de la clase Sys.Application. (Heredado de ScriptReferenceBase) |
Path |
Obtiene o establece la ruta de acceso del archivo de script de cliente al que se hace referencia, relativa a la página web. (Heredado de ScriptReferenceBase) |
ResourceUICultures |
Obtiene o establece una lista con las referencias culturales de interfaz de usuario, separadas por coma, que admite la propiedad Path. (Heredado de ScriptReferenceBase) |
ScriptMode |
Obtiene o establece la versión (lanzamiento o depuración) del archivo de script de cliente que se va a utilizar. (Heredado de ScriptReferenceBase) |
Métodos
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
GetUrl(ScriptManager, Boolean) |
Recupera la dirección URL que se representa como valor del atributo |
IsAjaxFrameworkScript(ScriptManager) |
Determina si la referencia de script es un script AJAX. |
IsAjaxFrameworkScript(ScriptManager) |
Determina si la referencia de script especificada es un script ASP.NET AJAX. (Heredado de ScriptReferenceBase) |
IsFromSystemWebExtensions() |
Obsoletos.
Indica si el script compuesto contiene una referencia a un script del marco de trabajo ASP.NET AJAX. |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el valor de la propiedad Name, la propiedad Path o el nombre del tipo. |