AspNet.sk     Diskusné fóra     Vitajte v QuickStarts     ASP.NET     Silverlight     Ako môžem...? (en)     Class prehliadač Príklady chcem v ...   
Menu
Skip Navigation Links.
Späť na ASP.NET príručku

ASP.NET QuickStart Príručka

Web Forms Syntax

ASP.NET Web Forms stránka je deklaratívny textovy súbor s príponou .aspx. Okrem statického obsahu, môžete používať osem zvláštnych syntaktických značkových elementov. Táto časť QuickStart-u popisuje každý z týchto syntaktických elementov a poskytuje príklady, ktoré demonštrujú ich použitie.

Renderovanie kódovej syntaxe: <% %> a <%= %>

Časti kódu na renderovanie blokov sú označené <% ... %> elementami, a dovolia vám skontrolovať obsah výstupu a sú vykonané počas renderovania stránky. Nasledujci príklad demonštruje, ako ich môžete využiť na vypísanie obsahu do HTML.


<% For I=0 To 7 %>
     <font size="<%=i%>"> Hello World! </font> <br>
<% Next %>
VB

VB Reference1.aspx
Run Sample View Source

Kód uzavretý do <% ... %> je práve spustený, keď sú výrazy, ktoré obsahujú znamienko rovnosti, ohodnotené a výsledok je odoslaný na výstup. Preto <%="Hello World" %> vyrenderuje to isté ako kód v C# <% Response.Write("Hello World"); %>.

Poznámka: Pre jazyky, v ktorých sa používajú značky na ukončenie alebo oddelenie príkazov (napríklad bodkočiarka (;) v C#), je dôležité umiestniť ich správne podľa toho, ako by mal byť Váš kód vyrenderovaný.

C# code
<% Response.Write("Hello World"); %> Príkaz je nevyhnutné ukončiť bodkočiarkou.
<%="Hello World"; %> Nesprávne: Výsledok bude "Response.Write("Hello World";);".
<%="Hello World" %>Bodkočiarka nie je potrebná.

Deklarácia kódovej syntaxe: <script runat="server">

Časti kódu na renderovanie blokov definujú členské premenné a metódy, ktoré môžu byť generované do vygenerovanej triedy Page. Tieto bloky môžu byť použité pre autorskú stránku alebo navigačnú logiku logiky. Nasledujúci príklad demonštruje, ako môže byť metóda Subtract deklarovaná v rámci bloku <script runat="server"> a potom vyvolaná stránkou.


<script language="VB" runat=server>
Function Subtract(num1 As Integer, num2 As Integer) As Integer
  Return(num1 - num2)
End Function
</script>

<%
  ...
  number = subtract(number, 1)
  ...
%>
VB

VB Reference2.aspx
Run Sample View Source

Dôležité: Na rozidel od ASP, kde mohli byť funkcie deklarované v rámci blokov <% %>, všetky funkcie a premenné globálnej stránky musia byť deklarované v tagu <script runat=server>. Funkcie deklarované v rámci bloku <% %> budú teraz generovať syntaktickú chybu (syntax compile error).

Syntax serverových ovládacích prvkov

Vlastné ASP.NET serverové ovládacie prvky umožňujú vývojárom dynamicky generovať HTML používateľské rozhranie (UI) a reagovať na žiadosti klienta. Sú reprezentované súborom, pričom používajú deklaratívnu syntax, založenú na tagu. Tieto tagy sú odlišné od ostatných tagov, pretože obsahujú atribút "runat=server". Nasledujúci príklad demonštruje, ako môže byť použitý serverový ovládací prvok <asp:label runat="server"> v rámci ASP.NET stránky. Tento ovládací prvok korešponduje s triedou Label v mennom priestore System.Web.UI.WebControls, ktorý je štandardne dodávaný.

Pridaním tagu s ID "Message" je instancia Label vytvorená v priebehu programu:

<asp:label id="Message" font-size=24 runat="server"/>
Ovládací prvok môže byť potom prístupný použitím tohoto mena. Nasledujúci riadok nastavuje vlastnosť Text ovládacieho prvku.


Message.Text = "Welcome to ASP.NET"
VB

VB Reference3.aspx
Run Sample View Source

Syntax serverových HTML ovládacích prvkov

Serverové HTML ovládacie prvky umožňujú vývojárovi stránky programovo manipulovať s HTML elementami na stránke. HTML tag serverového ovládacieho prvku je odlišný od HTML elementov klienta, a to prostredníctvom atribútu "runat=server". Nasledúci príklad demoštruje ako serverový ovládací prvok HTML <span runat=server> môže byť použitý na ASP.NET stránke.

Ako aj pri ostatných serverových ovládacích prvkoch, metódy a vlastnosti sú prístupné programovo, ako ukazuje nasledujúci príklad.


<script language="VB" runat="server">
  Sub Page_Load(sender As Object, e As EventArgs)
    Message.InnerHtml = "Welcome to ASP.NET"
  End Sub
</script>
...
<span id="Message" style="font-size:24" runat="server"/>
VB

VB Reference4.aspx
Run Sample View Source

Syntax pripájania na dáta: <%# %>

Podpora viazania dát zabudovaná do ASP.NET umožňuje vývojárom hierarchicky viazať vlastnosti na hodnoty dátového kontajnera. Kód nachádzajúci sa vnútri bloku <%# %> je spúšťaný len vtedy, ked je vyvolaná metóda DataBind kontajnera jeho rodičovského ovládacieho prvku.

V ovládacom prvku DataList je špecifikovaná jedna šablóna pre jednu položku. Obsah šablóny položky je špecifikovaný výrazom na pripojenie dát a Container.DataItem odkazuje na zdroj dát, ktorý používa DataList MyList.
<asp:datalist id="MyList" runat=server>
  <ItemTemplate>
    Here is a value: <%# Container.DataItem %>
  </ItemTemplate>
</asp:datalist>
V tomto prípade je zdroj dát MyList-u daný programovo. Potom je nutné zavolať metódu DataBind().


Sub Page_Load(sender As Object, e As EventArgs)
  Dim items As New ArrayList()

  items.Add("One")
  items.Add("Two")
  items.Add("Three")

  MyList.DataSource = items
  MyList.DataBind()
End Sub
VB

Volanie metódy DataBind ovládacieho prvku spôsobuje rekurzívny prechod stromu ovládacích prvkov z tohoto ovládacieho prvku až po jeho koniec. Udalosť DataBinding je vyvolaná na každom serverovom ovládacom prvku v tejto hierarchii. Takže keď je zavolaná metóda DataBind, vyhodnotia sa tiež všetky výrazy viažuce dáta na stránke.

VB Reference5.aspx
Run Sample View Source

ASP.NET 2.0 obsahuje tiež novú zjednodušenú syntax na pripojenie k dátam, ktorá umožňuje ovládacím prvkom, aby automaticky viazali dáta do ovládacích prvkov zdroja dát bez toho, aby vás žiadali o vyvolanie DataBindu-u() v kóde stránky. Táto syntax sa preberá v sekcii Vykonanie prístupu k dátam.

Syntax tagu Object: <object runat="server" />

Tagy object uľahčujú vývojárom deklarovať a vytvárať instancie premenných, pričom používajú deklaratívnu syntax viažucu dáta. Nasledujúci príklad demoštruje ako môžu byť objektové tagy použité na vytvorenie instancie triedy ArrayList.
<object id="items" class="System.Collections.ArrayList" runat="server"/>
Objekt bude vytvorený automaticky počas behu programu a môže byť sprístupnený cez "položku" ID.


Sub Page_Load(sender As Object, e As EventArgs)
  items.Add("One")
  items.Add("Two")
  items.Add("Three")
  ...
End Sub
VB

VB Reference6.aspx
Run Sample View Source

Syntax komentárov na strane servera: <%-- Comment --%>

Komentáre na strane servera umožňujú vývojárom zamedziť serverovského kódu (včítane serverových ovládacích prvkov) a statickému obsahu, aby bol spustený a zrenderovaný. Nasledujúci príklad demoštruje, ako sa môže blokovať obsah pred tým, aby bol spustený a posladný klientovi. Všimnite si, že všetko medzi <%-- a --%> je vyfiltrované a je viditeľné len v originálnom serverovom súbore, dokonca aj keď obsahuje iné ASP.NET direktívy.


<%--
  <asp:calendar id="MyCal" runat=server/>
    <% For I=0 To 44 %>
             Hello World <br>
    <% Next %>
--%>
VB

VB Reference7.aspx
Run Sample View Source

Syntax vkládania súborov zo servera: <-- #Include File="Locaton.inc" -->

Serverová direktíva #Includes umožňuje vývojárom vložiť nespracovaný obsah špecifického súboru hocikam na stránku v ASP.NET. Nasledujúci príklad demoštruje, ako vložiť vlastné záhlavie a pätu do stránky.
<!-- #Include File="Header.inc" -->
...
<!-- #Include File="Footer.inc" -->
VB Reference8.aspx
Run Sample View Source

Syntax vyhodnocovania výrazov: <%$ ... %> nové v 2.0

ASP.NET 2.0 pridáva novú deklaratívnu syntax na nahradenie hodnôt v stránke pred tým ako je stránka parsovaná. To je užitočné na nahradenie hodnôt reťazca pripojenia (connection string) alebo natavení definovaných v súbore Web.config pre hodnoty vlastností serverových ovládacích prvkov. Túto vlastnosť môžeme tiež využiť na nahradenie hodnôt zo zdrojového súboru pre lokalizáciu. Viac ako jeden reťazec pripojenia a výrazy zo zdrojov môžete nájsť v sekciách Vykonanie prístupu k dátam, and Extending ASP.NET.
<asp:SqlDataSource ID="SqlDataSource1" ConnectionString='<%$ connectionStrings:Pubs %>' runat="server" SelectCommand="sp_GetAuthors" />
<asp:Label ID="Label1" Text='<%$ Resources: ExchRate, ConvertLabel %>' runat="server"/>
Microsoft .NET Framework SDK QuickStart Tutorials Version 2.0
Copyright © 2005 Microsoft Corporation. All rights reserved.
Preklad do slovenského jazyka - Copyright © 2005 - 2007 www.aspnet.sk, www.qsh.sk
Pošlite komentár k tejto stránke
Copyright © 2002 - 2008 Chastia, spol. s r. o., Igor Stanek, Designed by Lacino
Portál je hostovaný na serveroch firmy Quantasoft - www.qsh.sk.