ClientScriptManager 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í.
Definuje metody pro správu klientských skriptů ve webových aplikacích.
public ref class ClientScriptManager sealed
public sealed class ClientScriptManager
type ClientScriptManager = class
Public NotInheritable Class ClientScriptManager
- Dědičnost
-
ClientScriptManager
Příklady
Následující příklad kódu ukazuje použití RegisterClientScriptBlock metody ClientScriptManager třídy. Na stránce jsou definovány dva klientské skripty: PopupScript, který zobrazí zprávu upozornění při načtení stránky, a ButtonClickScript, která definuje obslužnou rutinu klienta pro událost tlačítka onClick HTML.
<%@ Page Language="C#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
public void Page_Load(Object sender, EventArgs e)
{
// Define the name and type of the client scripts on the page.
String csname1 = "PopupScript";
String csname2 = "ButtonClickScript";
Type cstype = this.GetType();
// Get a ClientScriptManager reference from the Page class.
ClientScriptManager cs = Page.ClientScript;
// Check to see if the startup script is already registered.
if (!cs.IsStartupScriptRegistered(cstype, csname1))
{
String cstext1 = "alert('Hello World');";
cs.RegisterStartupScript(cstype, csname1, cstext1, true);
}
// Check to see if the client script is already registered.
if (!cs.IsClientScriptBlockRegistered(cstype, csname2))
{
StringBuilder cstext2 = new StringBuilder();
cstext2.Append("<script type=\"text/javascript\"> function DoClick() {");
cstext2.Append("Form1.Message.value='Text from client script.'} </");
cstext2.Append("script>");
cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), false);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ClientScriptManager Example</title>
</head>
<body>
<form id="Form1"
runat="server">
<input type="text" id="Message" /> <input type="button" value="ClickMe" onclick="DoClick()" />
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
' Define the name and type of the client scripts on the page.
Dim csname1 As String = "PopupScript"
Dim csname2 As String = "ButtonClickScript"
Dim cstype As Type = Me.GetType()
' Get a ClientScriptManager reference from the Page class.
Dim cs As ClientScriptManager = Page.ClientScript
' Check to see if the startup script is already registered.
If (Not cs.IsStartupScriptRegistered(cstype, csname1)) Then
Dim cstext1 As String = "alert('Hello World');"
cs.RegisterStartupScript(cstype, csname1, cstext1, True)
End If
' Check to see if the client script is already registered.
If (Not cs.IsClientScriptBlockRegistered(cstype, csname2)) Then
Dim cstext2 As New StringBuilder()
cstext2.Append("<script type=""text/javascript""> function DoClick() {")
cstext2.Append("Form1.Message.value='Text from client script.'} </")
cstext2.Append("script>")
cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), False)
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>ClientScriptManager Example</title>
</head>
<body>
<form id="Form1"
runat="server">
<input type="text" id="Message" /> <input type="button" value="ClickMe" onclick="DoClick()" />
</form>
</body>
</html>
Poznámky
Třída ClientScriptManager slouží ke správě klientských skriptů a jejich přidání do webových aplikací. Odkaz na ClientScriptManager třídu můžete získat z ClientScript vlastnosti objektu Page .
Klientský skript můžete přidat na webovou stránku deklarativním zahrnutím skriptu do kódu HTML stránky. Existují však situace, kdy je potřeba dynamicky přidávat klientský skript. Pokud chcete přidat skript dynamicky, použijte RegisterClientScriptBlock metodu, metodu RegisterClientScriptInclude , metodu RegisterStartupScript nebo metodu RegisterOnSubmitStatement v závislosti na tom, kdy a jak chcete přidat skript. Další informace naleznete v tématu Postupy: Dynamické přidání klientského skriptu do ASP.NET webových stránek.
Třída ClientScriptManager jednoznačně identifikuje skripty pomocí klíče String a Typeklíče . Skripty se stejným klíčem a typem se považují za duplicitní. Použití typu skriptu pomáhá vyhnout se matoucím podobným skriptům z různých uživatelských ovládacích prvků, které se můžou používat na stránce.
Třídu ClientScriptManager lze použít k vyvolání zpětných volání klienta v situacích, kdy je žádoucí spustit kód serveru z klienta bez provedení zpětného volání. To se označuje jako provedení vzdáleného zpětného volání na server. V zpětném volání klienta funkce klientského skriptu odešle asynchronní požadavek na ASP.NET webovou stránku. Webová stránka spouští upravenou verzi svého normálního životního cyklu pro zpracování zpětného volání. GetCallbackEventReference Použijte metodu k získání odkazu na klientskou funkci, která při vyvolání inicializuje zpětné volání klienta na událost serveru. Další informace naleznete v tématu Implementace zpětných volání klienta bez postbacků.
Poznámka:
Zpětná volání skriptu nebudou fungovat ve starších prohlížečích, které nepodporují model DOM (Document Object Model) a vyžadují, aby byl v klientovi povolený ECMAScript. Chcete-li zkontrolovat, zda prohlížeč podporuje zpětné volání, použijte SupportsCallback vlastnost, která je přístupná prostřednictvím Browser vlastnosti ASP.NET vnitřní Request objekt.
Použijte metodu GetPostBackEventReference a metodu GetPostBackClientHyperlink k definování události postback klienta. Tyto metody umožňují při vyvolání funkce klientského skriptu, aby server posílal zpět na stránku. Událost zpětného volání klienta se liší od zpětného volání klienta v tom, že webová stránka dokončí normální životní cyklus zpracování události zpětného vrácení klienta.
Poznámka:
Pokud používáte Button ovládací prvek a UseSubmitBehavior vlastnost je nastavena na false, můžete použít metodu GetPostBackEventReference k vrácení klienta postback události pro Button ovládací prvek.
Vlastnost OnClientClick ovládacího prvku, ImageButton ovládacího prvku a LinkButton ovládacího prvku lze použít ke spuštění klientského Button skriptu.
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetCallbackEventReference(Control, String, String, String, Boolean) |
Získá odkaz na klientskou funkci, která při vyvolání inicializuje volání klienta zpět na události serveru. Funkce klienta pro tuto přetíženou metodu obsahuje zadaný ovládací prvek, argument, klientský skript, kontext a logickou hodnotu. |
| GetCallbackEventReference(Control, String, String, String, String, Boolean) |
Získá odkaz na klientskou funkci, která při vyvolání inicializuje volání klienta zpět na události serveru. Funkce klienta pro tuto přetíženou metodu obsahuje zadaný ovládací prvek, argument, klientský skript, kontext, obslužnou rutinu chyby a logickou hodnotu. |
| GetCallbackEventReference(Control, String, String, String) |
Získá odkaz na klientskou funkci, která při vyvolání zahájí volání klienta zpět na událost serveru. Funkce klienta pro tuto přetíženou metodu obsahuje zadaný ovládací prvek, argument, klientský skript a kontext. |
| GetCallbackEventReference(String, String, String, String, String, Boolean) |
Získá odkaz na klientskou funkci, která při vyvolání inicializuje volání klienta zpět na události serveru. Funkce klienta pro tuto přetíženou metodu zahrnuje zadaný cíl, argument, klientský skript, kontext, obslužnou rutinu chyby a logickou hodnotu. |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetPostBackClientHyperlink(Control, String, Boolean) |
Získá odkaz s připojeným |
| GetPostBackClientHyperlink(Control, String) |
Získá odkaz s |
| GetPostBackEventReference(Control, String, Boolean) |
Vrátí řetězec, který se použije v události klienta, aby způsobil postback na server. Referenční řetězec je definován zadaným ovládacím prvku, který zpracovává postback a řetězcový argument dalších informací o události. Volitelně zaregistruje odkaz na událost pro ověření. |
| GetPostBackEventReference(Control, String) |
Vrátí řetězec, který lze použít v události klienta, aby způsobil postback na server. Referenční řetězec je definován zadaným ovládacím prvku, který zpracovává postback a řetězcový argument dalších informací o události. |
| GetPostBackEventReference(PostBackOptions, Boolean) |
Vrátí řetězec, který lze použít v události klienta, aby způsobil postback na server. Referenční řetězec je definován zadaným PostBackOptions objektem. Volitelně zaregistruje odkaz na událost pro ověření. |
| GetPostBackEventReference(PostBackOptions) |
Vrátí řetězec, který lze použít v události klienta, aby způsobil postback na server. Referenční řetězec je definován zadanou PostBackOptions instancí. |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| GetWebResourceUrl(Type, String) |
Získá odkaz na adresu URL prostředku v sestavení. |
| IsClientScriptBlockRegistered(String) |
Určuje, zda je blok klientského skriptu registrován u objektu Page pomocí zadaného klíče. |
| IsClientScriptBlockRegistered(Type, String) |
Určuje, zda je blok klientského skriptu registrován u objektu Page pomocí klíče a typu. |
| IsClientScriptIncludeRegistered(String) |
Určuje, zda je klientský skript registrován s objektem Page pomocí zadaného klíče. |
| IsClientScriptIncludeRegistered(Type, String) |
Určuje, zda je klientský skript registrován s Page objektem pomocí klíče a typu. |
| IsOnSubmitStatementRegistered(String) |
Určuje, zda je příkaz OnSubmit registrován u Page objektu pomocí zadaného klíče. |
| IsOnSubmitStatementRegistered(Type, String) |
Určuje, zda je příkaz OnSubmit registrován u Page objektu pomocí zadaného klíče a typu. |
| IsStartupScriptRegistered(String) |
Určuje, zda je spouštěcí skript registrován u objektu Page pomocí zadaného klíče. |
| IsStartupScriptRegistered(Type, String) |
Určuje, zda je spouštěcí skript registrován u objektu Page pomocí zadaného klíče a typu. |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| RegisterArrayDeclaration(String, String) |
Zaregistruje deklaraci pole JavaScriptu u objektu Page pomocí názvu pole a hodnoty pole. |
| RegisterClientScriptBlock(Type, String, String, Boolean) |
Zaregistruje klientský skript s Page objektem pomocí typu, klíče, literálu skriptu a logické hodnoty označující, zda se mají přidat značky skriptu. |
| RegisterClientScriptBlock(Type, String, String) |
Zaregistruje klientský skript s Page objektem pomocí typu, klíče a literálu skriptu. |
| RegisterClientScriptInclude(String, String) |
Zaregistruje klientský skript s Page objektem pomocí klíče a adresy URL, což umožňuje volání skriptu z klienta. |
| RegisterClientScriptInclude(Type, String, String) |
Zaregistruje klientský skript, který je součástí objektu Page , pomocí typu, klíče a adresy URL. |
| RegisterClientScriptResource(Type, String) |
Zaregistruje prostředek klientského skriptu u objektu Page pomocí typu a názvu prostředku. |
| RegisterExpandoAttribute(String, String, String, Boolean) |
Zaregistruje dvojici name/value jako vlastní atribut (expando) zadaného ovládacího prvku vzhledem k ID ovládacího prvku, název atributu, hodnotu atributu a logickou hodnotu označující, zda má být hodnota atributu kódována. |
| RegisterExpandoAttribute(String, String, String) |
Zaregistruje dvojici name/value jako vlastní atribut (expando) zadaného ovládacího prvku s id ovládacího prvku, názvem atributu a hodnotou atributu. |
| RegisterForEventValidation(PostBackOptions) |
Zaregistruje odkaz na událost pro ověření v PostBackOptions. |
| RegisterForEventValidation(String, String) |
Zaregistruje odkaz na událost pro ověření s jedinečným ID ovládacího prvku a argumenty událostí představujícími klientský ovládací prvek generující událost. |
| RegisterForEventValidation(String) |
Zaregistruje odkaz na událost pro ověření s jedinečným ID ovládacího prvku představujícím klientský ovládací prvek vygenerující událost. |
| RegisterHiddenField(String, String) |
Zaregistruje u objektu skrytou Page hodnotu. |
| RegisterOnSubmitStatement(Type, String, String) |
Zaregistruje příkaz OnSubmit u objektu Page pomocí typu, klíče a literálu skriptu. Příkaz se spustí při HtmlForm odeslání. |
| RegisterStartupScript(Type, String, String, Boolean) |
Zaregistruje spouštěcí skript u objektu Page pomocí typu, klíče, literálu skriptu a logické hodnoty označující, zda se mají přidat značky skriptu. |
| RegisterStartupScript(Type, String, String) |
Zaregistruje spouštěcí skript u objektu Page pomocí typu, klíče a literálu skriptu. |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
| ValidateEvent(String, String) |
Ověří událost klienta zaregistrovanou k ověření události pomocí RegisterForEventValidation(String, String) metody. |
| ValidateEvent(String) |
Ověří událost klienta zaregistrovanou k ověření události pomocí RegisterForEventValidation(String) metody. |