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 definované dva klientské skripty: PopupScript
, který při načtení stránky zobrazí zprávu s upozorněním, 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 se používá ke správě klientských skriptů a jejich přidává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ě zahrnutím skriptu do kódu HTML stránky. Existují však situace, kdy je potřeba přidat klientský skript dynamicky. Pokud chcete přidat skript dynamicky, použijte metodu RegisterClientScriptBlock , metodu RegisterClientScriptIncludeRegisterStartupScript , metodu 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 Type. Skripty se stejným klíčem a typem se považují za duplicitní. Použití typu skriptu pomáhá vyhnout se záměně podobných skriptů z různých uživatelských ovládacích prvků, které se můžou na stránce používat.
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í zpětného volání serveru mimo pásmo. Ve zpětném volání klienta funkce klientského skriptu odešle asynchronní požadavek na ASP.NET webovou stránku. Webová stránka spustí upravenou verzi svého normálního životního cyklu pro zpracování zpětného volání. GetCallbackEventReference Pomocí metody získáte odkaz na funkci klienta, která při vyvolání inicializuje zpětné volání klienta k události serveru. Další informace najdete v tématu Implementace klientských zpětných volání bez zpětného volání.
Poznámka
Zpětná volání skriptů nebudou fungovat ve starších prohlížečích, které nepodporují model DOM (Document Object Model), a vyžadují, aby byl v klientovi povolený skript ECMAScript. Pokud chcete zkontrolovat, jestli 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.
GetPostBackEventReference K definování události postback klienta použijte metodu GetPostBackClientHyperlink a metodu . Tyto metody umožňují při vyvolání funkcí klientských skriptů, 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 volání klienta.
Poznámka
Pokud používáte Button ovládací prvek a UseSubmitBehavior vlastnost je nastavena na false
hodnotu , můžete použít metodu GetPostBackEventReference k vrácení události postback klienta 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
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetCallbackEventReference(Control, String, String, String) |
Získá odkaz na funkci klienta, 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(Control, String, String, String, Boolean) |
Získá odkaz na funkci klienta, která při vyvolání zahájí volání klienta zpět na události serveru. Funkce klienta pro tuto přetíženou metodu zahrnuje zadaný ovládací prvek, argument, klientský skript, kontext a logickou hodnotu. |
GetCallbackEventReference(Control, String, String, String, String, Boolean) |
Získá odkaz na funkci klienta, která při vyvolání zahájí volání klienta zpět na události serveru. Funkce klienta pro tuto přetíženou metodu zahrnuje zadaný ovládací prvek, argument, klientský skript, kontext, obslužnou rutinu chyby a logickou hodnotu. |
GetCallbackEventReference(String, String, String, String, String, Boolean) |
Získá odkaz na funkci klienta, která při vyvolání zahájí 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í hashovací funkce. (Zděděno od Object) |
GetPostBackClientHyperlink(Control, String) |
Získá odkaz s |
GetPostBackClientHyperlink(Control, String, Boolean) |
Získá odkaz s |
GetPostBackEventReference(Control, String) |
Vrátí řetězec, který lze použít v události klienta k vyvolání zpětného odeslání na server. Referenční řetězec je definován zadaným ovládacím prvku, který zpracovává postback, a řetězcovým argumentem dalších informací o události. |
GetPostBackEventReference(Control, String, Boolean) |
Vrátí řetězec, který se má použít v události klienta k vyvolání zpětného odeslání na server. Referenční řetězec je definován zadaným ovládacím prvku, který zpracovává postback, a řetězcovým argumentem dalších informací o události. Volitelně zaregistruje odkaz na událost pro ověření. |
GetPostBackEventReference(PostBackOptions) |
Vrátí řetězec, který lze použít v události klienta k vyvolání zpětného odeslání na server. Referenční řetězec je definován zadanou PostBackOptions instancí. |
GetPostBackEventReference(PostBackOptions, Boolean) |
Vrátí řetězec, který lze použít v události klienta k vyvolání zpětného odeslání na server. Referenční řetězec je definován zadaným PostBackOptions objektem. Volitelně zaregistruje odkaz na událost pro ověření. |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
GetWebResourceUrl(Type, String) |
Získá odkaz url na prostředek v sestavení. |
IsClientScriptBlockRegistered(String) |
Určuje, zda je blok klientského skriptu zaregistrová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 zahrnutí klientského skriptu registrováno u objektu Page pomocí zadaného klíče. |
IsClientScriptIncludeRegistered(Type, String) |
Určuje, zda je zahrnutí klientského skriptu registrováno v objektu Page pomocí klíče a typu. |
IsOnSubmitStatementRegistered(String) |
Určuje, zda onSubmit příkaz je registrován s objektem Page pomocí zadaného klíče. |
IsOnSubmitStatementRegistered(Type, String) |
Určuje, zda je příkaz OnSubmit registrován u objektu Page pomocí zadaného klíče a typu. |
IsStartupScriptRegistered(String) |
Určuje, zda je spouštěcí skript registrován s objektem Page pomocí zadaného klíče. |
IsStartupScriptRegistered(Type, String) |
Určuje, zda je spouštěcí skript registrován s objektem Page pomocí zadaného klíče a typu. |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
RegisterArrayDeclaration(String, String) |
Registruje javascriptovou deklaraci pole s objektem Page pomocí názvu pole a hodnoty pole. |
RegisterClientScriptBlock(Type, String, String) |
Zaregistruje klientský skript s objektem Page pomocí typu, klíče a literálu skriptu. |
RegisterClientScriptBlock(Type, String, String, Boolean) |
Zaregistruje klientský skript s objektem Page pomocí typu, klíče, literálu skriptu a logické hodnoty označující, zda se mají přidat značky skriptu. |
RegisterClientScriptInclude(String, String) |
Zaregistruje klientský skript s objektem Page pomocí klíče a adresy URL, což umožňuje volání skriptu z klienta. |
RegisterClientScriptInclude(Type, String, String) |
Zaregistruje klientský skript include s objektem Page pomocí typu, klíče a adresy URL. |
RegisterClientScriptResource(Type, String) |
Zaregistruje prostředek klientského skriptu s objektem Page s použitím typu a názvu prostředku. |
RegisterExpandoAttribute(String, String, String) |
Zaregistruje dvojici název/hodnota jako vlastní (expando) atribut zadaného ovládacího prvku s ID ovládacího prvku, názvem atributu a hodnotou atributu. |
RegisterExpandoAttribute(String, String, String, Boolean) |
Zaregistruje dvojici název/hodnota jako vlastní (expando) atribut zadaného ovládacího prvku s ID ovládacího prvku, název atributu, hodnotu atributu a logickou hodnotu označující, zda se má hodnota atributu kódovat. |
RegisterForEventValidation(PostBackOptions) |
Zaregistruje odkaz na událost pro ověření pomocí PostBackOptions. |
RegisterForEventValidation(String) |
Registruje odkaz na událost pro ověření s jedinečným ID ovládacího prvku představujícího klientský ovládací prvek generující událost. |
RegisterForEventValidation(String, String) |
Registruje odkaz na událost pro ověření s jedinečným ID ovládacího prvku a argumenty události, které představují klientský ovládací prvek generující událost. |
RegisterHiddenField(String, String) |
Zaregistruje skrytou hodnotu s objektem Page . |
RegisterOnSubmitStatement(Type, String, String) |
Zaregistruje příkaz OnSubmit s objektem Page pomocí typu, klíče a literálu skriptu. Příkaz se spustí při HtmlForm odeslání příkazu . |
RegisterStartupScript(Type, String, String) |
Zaregistruje spouštěcí skript s objektem Page pomocí typu, klíče a literálu skriptu. |
RegisterStartupScript(Type, String, String, Boolean) |
Zaregistruje spouštěcí 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. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
ValidateEvent(String) |
Ověří událost klienta zaregistrovanou k ověření události pomocí metody .RegisterForEventValidation(String) |
ValidateEvent(String, String) |
Ověří událost klienta zaregistrovanou k ověření události pomocí metody .RegisterForEventValidation(String, String) |