HAVIT Knowledge Base

Vývoj webových aplikací, .NET, SQL, návrh
Welcome to HAVIT Knowledge Base Sign in | Join | Help
-
Home Články Forums Obrázky Soubory

ASP.NET

Vývoj webových aplikací ASP.NET

Registrace klientských skriptů: ClientScriptManager vs. ScriptManager

ClientScriptManager

Třída ClientScriptManager je součástí .NET Frameworku od jeho vzniku. Její instance je běžně přístupná přes Page.ClientScript. Třída slouží k registraci klientských skriptů, které mají být ve stránce renderovány, a k další práci s klienskými skripty.
Tato třída neví nic o AJAXu a asynchronním postbacku, pokud zaregistrujeme do stránky nějaký klientský skript, bude vyrenderován pouze v případě prvního načtení stránky (GET) nebo v klasickém postbacku (POST). Pokud je skript registrován v asynchronním postbacku, do browseru se nedostane.

ScriptManager

Třída ScriptManager je součástí ASP.NET Ajax 1.0 rozšířující .NET Framework 2.0 nebo .NET Frameworku 3.5. Tato třída rovněž slouží k registaci klientských skriptů do stránky.
Metody pro registraci klienských skriptů jsou statické a disponují rozhaním pro pohodlnější použití. Skripty registrované při prvním načítání stránky (GET) a v klasickém postbacku (POST) jsou stejně jako v předchozím případě renderovány do stránky, skripty registrované v asynchronním postbacku MOHOU být předány do browseru uživatele.
Každá z registračních metod existuje ve dvou přetíženích, které se liší typem prvního parametru - Control vs. Page.

Například:
  • RegisterClientScriptBlock(Page, Type, String, String, Boolean)
    Skripty registrované touto metodou jsou do browseru předány v každém asynchronním postbacku.

  • RegisterClientScriptBlock(Control, Type, String, String, Boolean)
    Skripty registrované touto metodou v asynchronním postbacku jsou renderovány do stránky jen tehdy, pokud je renderován předaný control. Pokud tedy při asnychronním postbacku není control v update panelu nebo je v update panelu, který není renderován, potom není renderován ani registrovaný skript.

Další metody pro registraci klientských skriptů jsou:
  • RegisterClientScriptBlock - registruje blok kódu
  • RegisterClientScriptInclude - registruje externí soubor s klienských skriptem
  • RegisterClientScriptResource - registruje soubor s klienských skriptem z resources
  • RegisterOnSubmitStatement - registruje kód vykonaný před postbackem
  • RegisterStartupScript - registruje kód vykonaný během načtení stránky

Published 23. května 2008 18:19 by Jiří Kanda
Filed under:

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

David Hojdar said:

Dobrá připomínka pro "zatím" nepokročilé ASP.NET vývojáře.

Jen odkaz na "ScriptManager" vede na stejnou stránku jako "ClientScriptManager".

Správný odkaz je http://msdn.microsoft.com/en-us/library/bb398863.aspx

David

května 28, 2008 13:14
 

Jiří Kanda said:

Díky za informaci, opraveno.

května 28, 2008 13:30

What do you think?

(required) 
(optional)
(required) 
Enter the code you see below

Submit