ScriptReference Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Registra um arquivo ECMAScript (JavaScript) para uso em uma página da Web do 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
- Herança
Exemplos
O exemplo a seguir mostra como referenciar um controle personalizado e um arquivo JavaScript inserido no assembly de controle. Supõe-se que o assembly esteja na pasta Bin do site. O controle personalizado anima os controles UpdatePanel . O arquivo JavaScript é compilado como um recurso inserido nomeado SampleControl.UpdatePanelAnimation.js. Registre o arquivo JavaScript inserido usando as propriedades e Name as Assembly propriedades.
Para usar este exemplo, compile o arquivo JavaScript mostrado no exemplo como um recurso inserido com o controle personalizado. Coloque o assembly resultante na pasta Bin do site. Para obter um exemplo de como inserir um arquivo JavaScript em um assembly, consulte Passo a passo: inserindo um arquivo JavaScript como um recurso em um assembly.
O exemplo a seguir mostra uma página que usa o controle 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>
O exemplo a seguir mostra a definição da classe de controle 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
O exemplo a seguir mostra o arquivo JavaScript com suporte.
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);
}
}
O exemplo a seguir mostra o código que você deve adicionar ao arquivo AssemblyInfo do projeto que contém o controle personalizado e o arquivo JavaScript.
[assembly: System.Web.UI.WebResource("SampleControl.UpdatePanelAnimation.js", "application/x-javascript")]
<Assembly: System.Web.UI.WebResource("SampleControl.UpdatePanelAnimation.js", "application/x-javascript")>
Comentários
Você pode incluir um arquivo JavaScript em uma página da Web ASP.NET registrando-o por meio de um ScriptReference objeto. Você pode registrar um arquivo de script localizado como um arquivo de .js (um arquivo de script estático) no site da Web. Você também pode registrar um arquivo de script inserido como um recurso em um assembly. Depois de registrar o arquivo de script, você pode usar suas funções no script do cliente na página da Web.
Para registrar um arquivo de script estático, defina a Path propriedade do ScriptReference objeto como o local relativo do arquivo.
Para registrar um arquivo de script inserido como um recurso em um assembly, defina a Assembly propriedade como o nome do assembly que contém o arquivo. Em seguida, defina a Name propriedade como o nome do arquivo .js inserido no assembly. Nesse caso, o arquivo de script deve ser inserido, não vinculado.
Você define a ScriptMode propriedade para indicar se deseja usar a versão de depuração ou versão do script.
O Auto valor produz resultados diferentes dependendo se ele se refere a um arquivo de script autônomo ou a um arquivo de script inserido como um recurso em um assembly. Um arquivo de script autônomo é definido com a Path propriedade. Uma referência de assembly deve ser acessada por meio do e Assembly das Name propriedades. Os resultados do valor são os Auto seguintes:
Quando ele é aplicado a um arquivo de script autônomo em que a Path propriedade é especificada, o Auto valor é equivalente a Release.
Quando ela é aplicada a uma referência de script em um assembly, Auto é equivalente a Inherit. Quando é especificado apenas Name , ele é usado para referenciar o script. Quando Name e a Path propriedade são especificadas, a Path propriedade é usada em vez de Name, mas o Auto valor ainda é equivalente a Inherit.
Construtores
ScriptReference() |
Inicializa uma nova instância da classe ScriptReference. |
ScriptReference(String) |
Inicializa uma nova instância da classe ScriptReference usando um caminho especificado. |
ScriptReference(String, String) |
Inicializa uma nova instância da classe ScriptReference usando um nome e um assembly especificados. |
Propriedades
Assembly |
Obtém ou define o nome do assembly que contém o arquivo de script de cliente como um recurso inserido. |
IgnoreScriptPath |
Obsoleto.
Obtém ou define um valor que indica se a propriedade ScriptPath está incluída na URL ao registrar um arquivo de script de cliente de um recurso. |
Name |
Obtém ou define o nome do recurso inserido que contém o arquivo de script de cliente. |
NotifyScriptLoaded |
Obsoleto.
Obtém ou define um valor que indica se o objeto ScriptResourceHandler adiciona automaticamente o código no final do arquivo ECMAScript (JavaScript) para chamar o método NotifyScriptLoaded cliente da classe Sys.Application. (Herdado de ScriptReferenceBase) |
Path |
Obtém ou define o caminho do arquivo de script de cliente referenciado, relativo à página da Web. (Herdado de ScriptReferenceBase) |
ResourceUICultures |
Obtém ou define a lista delimitada por vírgulas das culturas de interface do usuário com suporte pela propriedade Path. (Herdado de ScriptReferenceBase) |
ScriptMode |
Obtém ou define a versão do arquivo de script de cliente (versão ou depuração) a ser usado. (Herdado de ScriptReferenceBase) |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
GetUrl(ScriptManager, Boolean) |
Recupera a URL que é processada como o valor do atributo |
IsAjaxFrameworkScript(ScriptManager) |
Determina se a referência de script é um script AJAX. |
IsAjaxFrameworkScript(ScriptManager) |
Determina se a referência de script especificada é um script AJAX do ASP.NET. (Herdado de ScriptReferenceBase) |
IsFromSystemWebExtensions() |
Obsoleto.
Indica se o script de composição contém uma referência a um script de estrutura AJAX ASP.NET. |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o valor da propriedade Name, a propriedade Path ou o nome do tipo. |