Jednoduchý web formulár (ASP.NET)

Tažko je popisovať v čom je iné ASP.NET od ASP. Pre programátora je najlepší jednoduchý príklad - tu je: vytvorme malý vstupný formulár, ktorého úlohou je držať v poliach vpísané hodnoty aj po vrátení sa formulára zo servra.



V predchádzajúcej verzii to dá trochu práce, treba ošetriť každé pole po návrate do toho istého formulára. V ASP.NET je to jednuduchšie, pretože formulár si automaticky drží hodnoty premenných až dovtedy, kým užívateľ z neho nevyskočí.

Môžeme si to predstaviť, ako klasický formulár vo Visual basicku 6: na jednej strane je formulár s kontrolkami a na druhej kód, ktorý s nimi manipuluje až dovtedy, kým sa formulár nezavrie.

Takže dajme na web formulár dve kontrolky (polia, alebo ak chcete controls - mám trochu problém nájsť pre tieto potvorky správne slovenské slovo, uvítam radu):

TextBox a DropDownList - ich názvy sú jednoznačné, nebudem popisovať.

Snáď len to, že sú to serverovské kontrolky, teda sú "na servri", čo znamená, že generujú potrebný HTML kód, ktorý sa posiela ku klientovi. Používame pre nich tag <asp:menokontrolky .... />. Naviac toto ešte pripomína vlastnosť kontrolky runat="server". Všimnite si, že každá kontrolka musí byť uzavretá tagom s lomítkom. Čiže TextBox bude vyzerať takto:

<asp:textbox id="Name" runat="server"/>

a podobne DropDownList.

Naviac (tak ak vo VB6) potrebujeme pridať funkciu, ktorá sa vykoná na strane servra keď formulár vrati metodou post po stlačení tlačítka na formulári. Bude to funkcia Sub SubmitBtn_Click, ktorá má trochu zvláštne parametre, ktoré však tu nebudem pre malý priestor rozoberať - jednoducho tam musia byť.

Takže tu je jednoduchý kód, ktorý si tento raz môžete aj vyskúšať aj priamo live.


<html>
<script language="VB" runat=server>
Sub SubmitBtn_Click(Sender As Object, E As EventArgs)
Message.Text = "Ahoj " & Name.Text & ","
Message.Text &= "vybral si: " & Category.SelectedItem.Text
End Sub
</script>
<body>
<center>
<form action="test1.aspx" method="post" runat="server">
<h3> Meno: <asp:textbox id="Name" runat="server"/>
Kategoria: <asp:dropdownlist id="Category" runat=server>
<asp:listitem >PHP</asp:listitem>
<asp:listitem >ASP</asp:listitem>
<asp:listitem >ASP.NET</asp:listitem>
</asp:dropdownlist>
</h3>
<asp:button text="Posli" OnClick="SubmitBtn_Click" runat="server"/>
<p>
<asp:label id="Message" runat="server"/>
</form>
</center>
</body>
</html>

Jednoduché, že? Pár riadkov - som presvedčený, že v "klasickom ASP" by to bolo komplikovanejšie. A keď k tomu pridáme dva riadky, dostaneme stránku, ktorá zvaliduje vstup a ak uzivateľ zabudne vyplniť formulár alebo ho vyplní zle, upozorní ho na to. Ale to až nabudúce...

Keď túto stránku budete testovať, nezabudnite si všimnúť, že hodnoty, ktoré ste vložili zostávaju na stránke aj po návrate zo servra.

Developer,
Stiahnuté z Developer.sk