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 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 chamado 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 de 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 deve 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 das propriedades e do Name assembly Assembly . Os resultados do valor são os Auto seguintes:
Quando ela é aplicada a um arquivo de script autônomo em que a Path propriedade é especificada, o Auto valor é equivalente a Release.
Quando ele é aplicado 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
| Nome | Description |
|---|---|
| ScriptReference() |
Inicializa uma nova instância da classe ScriptReference. |
| ScriptReference(String, String) |
Inicializa uma nova instância da ScriptReference classe usando um nome e um assembly especificados. |
| ScriptReference(String) |
Inicializa uma nova instância da ScriptReference classe usando um caminho especificado. |
Propriedades
| Nome | Description |
|---|---|
| Assembly |
Obtém ou define o nome do assembly que contém o arquivo de script do cliente como um recurso inserido. |
| IgnoreScriptPath |
Obsoleto.
Obtém ou define um valor que indica se a ScriptPath propriedade está incluída na URL quando você registra um arquivo de script do cliente de um recurso. |
| Name |
Obtém ou define o nome do recurso inserido que contém o arquivo de script do cliente. |
| NotifyScriptLoaded |
Obsoleto.
Obtém ou define um valor que indica se o ScriptResourceHandler objeto adiciona automaticamente código no final do arquivo ECMAScript (JavaScript) para chamar o método cliente NotifyScriptLoaded da classe Sys.Application . (Herdado de ScriptReferenceBase) |
| Path |
Obtém ou define o caminho do arquivo de script do cliente referenciado em relação à página da Web. (Herdado de ScriptReferenceBase) |
| ResourceUICultures |
Obtém ou define uma lista delimitada por vírgulas de culturas de interface do usuário compatíveis com a Path propriedade. (Herdado de ScriptReferenceBase) |
| ScriptMode |
Obtém ou define a versão do arquivo de script do cliente (versão ou depuração) a ser usada. (Herdado de ScriptReferenceBase) |
Métodos
| Nome | Description |
|---|---|
| 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 renderizada como o valor do |
| IsAjaxFrameworkScript(ScriptManager) |
Determina se a referência de script é um script AJAX. |
| IsFromSystemWebExtensions() |
Obsoleto.
Indica se o script composto contém uma referência a um script de estrutura do AJAX ASP.NET. |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| ToString() |
Retorna uma cadeia de caracteres que representa o valor da Name propriedade, da Path propriedade ou do nome do tipo. |