ScriptReference Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zaregistruje soubor ECMAScript (JavaScript) pro použití na webové stránce 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
- Dědičnost
Příklady
Následující příklad ukazuje, jak odkazovat na vlastní ovládací prvek a soubor JavaScript, který je vložen v sestavení ovládacího prvku. Předpokládá se, že sestavení je ve složce Bin webu. Vlastní ovládací prvek animuje UpdatePanel ovládací prvky. Soubor JavaScriptu se zkompiluje jako vložený prostředek s názvem SampleControl.UpdatePanelAnimation.js. Vložený javascriptový soubor zaregistrujete pomocí Assembly vlastností a Name .
Pokud chcete použít tento příklad, zkompilujte soubor JavaScriptu, který je v příkladu zobrazený jako vložený prostředek s vlastním ovládacím prvku. Vložte výsledné sestavení do složky Bin webu. Příklad vložení souboru JavaScriptu do sestavení naleznete v tématu Návod: Vložení souboru JavaScriptu jako prostředku do sestavení.
Následující příklad ukazuje stránku, která používá vlastní ovládací prvek.
<%@ 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>
Následující příklad ukazuje definici třídy vlastního ovládacího prvku.
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
Následující příklad ukazuje podpůrný soubor JavaScriptu.
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);
}
}
Následující příklad ukazuje kód, který musíte přidat do souboru AssemblyInfo projektu, který obsahuje vlastní ovládací prvek a soubor JavaScript.
[assembly: System.Web.UI.WebResource("SampleControl.UpdatePanelAnimation.js", "application/x-javascript")]
<Assembly: System.Web.UI.WebResource("SampleControl.UpdatePanelAnimation.js", "application/x-javascript")>
Poznámky
JavaScriptový soubor můžete zahrnout do webové stránky ASP.NET tak, že ho zaregistrujete prostřednictvím objektu ScriptReference . Můžete zaregistrovat soubor skriptu, který je umístěn jako soubor .js (soubor statického skriptu) na webu. Můžete také zaregistrovat soubor skriptu, který je vložen jako prostředek v sestavení. Po registraci souboru skriptu můžete použít jeho funkce v klientském skriptu na webové stránce.
Chcete-li zaregistrovat soubor statického skriptu, nastavte Path vlastnost objektu ScriptReference na relativní umístění souboru.
Chcete-li zaregistrovat soubor skriptu, který je vložen jako prostředek v sestavení, nastavte Assembly vlastnost na název sestavení, které obsahuje soubor. Potom nastavte Name vlastnost na název souboru .js, který je vložen v sestavení. V takovém případě musí být soubor skriptu vložený, ne propojený.
Vlastnost nastavíte ScriptMode tak, aby označí, jestli se má použít ladicí nebo vydaná verze skriptu.
Hodnota Auto vytváří různé výsledky v závislosti na tom, zda odkazuje na soubor samostatného skriptu nebo na soubor skriptu, který je vložen jako prostředek v sestavení. Soubor samostatného skriptu je definován pomocí Path vlastnosti . Odkaz na sestavení musí být přístupný prostřednictvím Name vlastností a Assembly . Výsledky pro Auto hodnotu jsou následující:
Při použití na soubor samostatného skriptu, kde Path je vlastnost zadána, Auto je hodnota ekvivalentní hodnotě Release.
Je-li použit na odkaz na skript v sestavení, Auto je ekvivalentní k Inherit. Pokud je zadán pouze Name parametr , použije se k odkazování na skript. Pokud Name jsou zadány Path obě vlastnosti a , Path použije se vlastnost místo Name, ale Auto hodnota je stále ekvivalentní hodnotě Inherit.
Konstruktory
ScriptReference() |
Inicializuje novou instanci ScriptReference třídy . |
ScriptReference(String) |
Inicializuje novou instanci ScriptReference třídy pomocí zadané cesty. |
ScriptReference(String, String) |
Inicializuje novou instanci ScriptReference třídy pomocí zadaného názvu a sestavení. |
Vlastnosti
Assembly |
Získá nebo nastaví název sestavení, které obsahuje soubor klientského skriptu jako vložený prostředek. |
IgnoreScriptPath |
Zastaralé.
Získá nebo nastaví hodnotu, která označuje, zda ScriptPath je vlastnost zahrnuta v adrese URL při registraci souboru klientského skriptu z prostředku. |
Name |
Získá nebo nastaví název vloženého prostředku, který obsahuje soubor skriptu klienta. |
NotifyScriptLoaded |
Zastaralé.
Získá nebo nastaví hodnotu, která označuje, zda ScriptResourceHandler objekt automaticky přidá kód na konci souboru ECMAScript (JavaScript) pro volání metody klienta NotifyScriptLoadedtřídy Sys.Application . (Zděděno od ScriptReferenceBase) |
Path |
Získá nebo nastaví cestu k odkazovanému souboru skriptu klienta vzhledem k webové stránce. (Zděděno od ScriptReferenceBase) |
ResourceUICultures |
Získá nebo nastaví seznam jazykových verzí uživatelského rozhraní oddělených čárkami, které jsou podporovány Path vlastností. (Zděděno od ScriptReferenceBase) |
ScriptMode |
Získá nebo nastaví verzi souboru klientského skriptu (verze nebo ladění) použít. (Zděděno od ScriptReferenceBase) |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
GetUrl(ScriptManager, Boolean) |
Načte adresu URL, která je vykreslena jako hodnota |
IsAjaxFrameworkScript(ScriptManager) |
Určuje, zda odkaz na skript je skript AJAX. |
IsAjaxFrameworkScript(ScriptManager) |
Určuje, zda je zadaný odkaz na skript ASP.NET AJAX. (Zděděno od ScriptReferenceBase) |
IsFromSystemWebExtensions() |
Zastaralé.
Určuje, zda složený skript obsahuje odkaz na skript architektury ASP.NET AJAX. |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje hodnotu Name vlastnosti, Path vlastnost nebo název typu. |