martedì 15 gennaio 2008

XSP2 e ASP.NET 2.0



Dopo aver testato la compatibilità di Windows Forms, questo pomeriggio ho testato alcuni piccoli script ASP.NET 2.0 sulla mia installazione mono 1.2.6 (su OSX), in particolare mi interessava una delle features più interessanti di ASP.NET 2.0, ossia le master pages.
Le master page sono una spece di template, in pratica, invece di avere una serie di include lato server, si crea un modello di pagina con vari segnaposti per i contenuti senza dover utilizzare un template engine di terze parti, ho inoltre testato alcuni controlli di base.
Mostro un piccolo esempio:
-- master1.master
<%@ Master %>
<html>
<body>
<h1>Header per tutte le pagine</h1>
<h3>le masters page sono un alternativa veloce e sicura agli include lato server...</h3>
<asp:ContentPlaceHolder id="CPH1" runat="server">
</asp:ContentPlaceHolder>
<h3>footer</h3>
</body>
</html>
questa è la master page presenta un header e un footer, il place holder viene rimpiazzato dal contenuto, ecco una semplice pagina:
<%@ Page MasterPageFile="master1.master" %>
<asp:Content ContentPlaceHolderId="CPH1" runat="server">
<h3>Esempio di pagina</h3>
<p>Paragrafo 1</p>
<p>Paragrafo 2</p>
</asp:Content>
infine una pagina che comprende i tre controlli standard, un bottone, una label e una casella di testo, una specie di hello world in asp.net, l'evento di gestione del click del bottone viene gestito lato server e cambia la proprietà della label:
<%@ Page MasterPageFile="master1.master" %>
<script runat="server" language="VB">
Sub submit(sender As Object, e As EventArgs)
lbl1.Text="Ciao, " & txt1.Text
End Sub
</script>
<asp:Content ContentPlaceHolderId="CPH1" runat="server">
<h3>Esempio di pagina con due controlli</h3>
<form runat="server">
<asp:TextBox id="txt1" runat="server" />
<asp:Button OnClick="submit" id="btn1" runat="server" text="Clicca qua" />
<p><asp:Label id="lbl1" runat="server" /></p>
</form>
</asp:Content>
praticamente (a parte le WebParts) asp.net 2.0 funziona benissimo su mono, sia c# che vb.net :)

3 commenti:

Anonimo ha detto...

hey, ma hai sviluppato tutto con OSX? hai per caso usato monodevelop?
sono curioso perchè utilizzo asp.net al lavoro ovviamente su "findus", e volevo capire cosa potrei usare semplicemente su mac.
la possiblità di usare anche le master page mi fa gola...
grazie
andrea

michelangelo giacomelli ha detto...

Si ho sviluppato questi piccoli esempi tutto sotto osx ma li ho testati anche su ubuntu, come editor sotto linux uso gedit, mentre sotto osx, utilizzo smultron:
http://smultron.sourceforge.net/.
Il server si avvia semplicemente da terminale portandoti nella directory contenente i file asp.net e digitando xsp2.
cd Sities/net/hello
xsp2
XSP2 è il server compatibile asp.net 2.0 distribuito con mono. (se invece necessiti di usara asp.net 1.0 o 1.1 il comando è semplicemente xsp)

Anonimo ha detto...

grazie mille
provero la più presto