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 javascriptový soubor, který je vložen do sestavení ovládacího prvku. Sestavení se předpokládá, že je ve složce Bin webu. Vlastní ovládací prvek animuje UpdatePanel ovládací prvky. JavaScriptový soubor je zkompilován jako vložený prostředek s názvem SampleControl.UpdatePanelAnimation.js. Vložený javascriptový soubor zaregistrujete pomocí Assembly vlastností a Name vlastností.
Chcete-li použít tento příklad, zkompilujte javascriptový soubor, který je zobrazený v příkladu jako vložený prostředek s vlastním ovládacím prostředkem. Vložte výsledné sestavení do složky Bin webu. Příklad vložení souboru JavaScriptu do sestavení najdete v části 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 vlastní třídy 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ý javascriptový soubor.
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 javascriptový soubor.
[assembly: System.Web.UI.WebResource("SampleControl.UpdatePanelAnimation.js", "application/x-javascript")]
<Assembly: System.Web.UI.WebResource("SampleControl.UpdatePanelAnimation.js", "application/x-javascript")>
Poznámky
Soubor JavaScriptu můžete zahrnout na ASP.NET webové stránce tak, že ho zaregistrujete prostřednictvím objektu ScriptReference . Můžete zaregistrovat soubor skriptu, který se nachází 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 ScriptReference objektu 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 .js souboru, který je vložen do sestavení. V takovém případě musí být soubor skriptu vložen, nikoli propojený.
Vlastnost nastavíte ScriptMode tak, aby označí, zda se má použít ladicí nebo vydané verze skriptu.
Hodnota Auto vytváří různé výsledky v závislosti na tom, zda odkazuje na samostatný soubor skriptu nebo na soubor skriptu, který je vložen jako prostředek v sestavení. Soubor samostatného skriptu je definován s Path vlastností. Odkaz na sestavení musí být přístupný prostřednictvím Name vlastností a Assembly vlastností. Výsledky pro Auto hodnotu jsou následující:
Při použití na samostatný soubor skriptu, kde Path je vlastnost zadána, Auto je hodnota ekvivalentní Release.
Při použití na odkaz skriptu v sestavení, Auto je ekvivalentní Inherit. Je-li zadán pouze Name , slouží k odkazování na skript. Pokud Name i Path vlastnost jsou zadány, Path vlastnost je použita místo Name, ale Auto hodnota je stále ekvivalentní Inherit.
Konstruktory
| Name | Description |
|---|---|
| ScriptReference() |
Inicializuje novou instanci ScriptReference třídy. |
| ScriptReference(String, String) |
Inicializuje novou instanci ScriptReference třídy pomocí zadaného názvu a sestavení. |
| ScriptReference(String) |
Inicializuje novou instanci ScriptReference třídy pomocí zadané cesty. |
Vlastnosti
| Name | Description |
|---|---|
| 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á určuje, zda ScriptPath vlastnost je 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 klientského skriptu. |
| NotifyScriptLoaded |
Zastaralé.
Získá nebo nastaví hodnotu, která určuje, zda ScriptResourceHandler objekt automaticky přidá kód na konec 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 klientského skriptu vzhledem k webové stránce. (Zděděno od ScriptReferenceBase) |
| ResourceUICultures |
Získá nebo nastaví čárkami oddělený seznam jazykových verzí uživatelského rozhraní, 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í), která se má použít. (Zděděno od ScriptReferenceBase) |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| GetUrl(ScriptManager, Boolean) |
Načte adresu URL, která se vykreslí jako hodnota |
| IsAjaxFrameworkScript(ScriptManager) |
Určuje, zda je odkazem na skript AJAX. |
| IsFromSystemWebExtensions() |
Zastaralé.
Určuje, zda složený skript obsahuje odkaz na ASP.NET skript architektury AJAX. |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje hodnotu Name vlastnosti, Path vlastnosti nebo názvu typu. |