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 :)
Commenti
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
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)
provero la più presto