ASP.Net  »  Articoli  »  ASP.NET 4 

ASP.NET Routing: URL amichevoli con Web Form 4.0 e Visual Studio 2010

di: Simone Moretti     17 Febbraio 2010

Presentando le novità di ASP.NET 4.0, abbiamo accennato alla possibilità di effettuare il routing degli indirizzi anche per le applicazioni Web Form (su ASP.NET MVC ad esempio era già possibile).

Il Routing, è quel meccanismo che ci permette di associare alle pagine url semplificati, facili da ricordare per gli utenti e soprattutto meglio indicizzabili dai motori di ricerca.

Inoltre ci permette di nascondere i nomi dei file che effettivametne elaborano la richiesta e di migliorare la significato semantico degli indirizzi.

In questo articolo esamineremo un semplice esempio di routing, realizzando una piccola applicazione Web Form 4.0, con Visual Studio 2010.

L'applicazione sarà composta di due pagine web, per semplicità.

Figura 1. Esempio di routing tra sole due pagine

Esempio di routing

La pagina default.aspx conterrà alcuni link che puntano a diversi percorsi nel sito. Per mostrare le potenzialità del Routing, faremo in modio che ciascun link richiami in realtà la stessa pagina, che chiamiamo target.aspx.

Per iniziare l'esempio, pensiamo di costruire il sito di un'università e che le nostre pagine servano alla ricerca degli iscritti delle diverse facoltà e per i relativi anni accademici.

Dopo aver creato il nostro sito web vuoto con Visual Studio 2010, creiamo le due pagine default.aspx e target.aspx, andiamo sulla prima e inseriamo un primo HyperLink.

Il nostro primo link punterà ad una pagina che mostra i dettagli della facoltà di informatica. Normalmente nella proprietà NavigateUrl inseriremmo il link passaremmo il parametro del corso di laurea con una querystring come questa:

~/target.aspx?laurea=inf;

Definiamo invece il nostro link in questo modo:

<asp:HyperLink ID="link1" runat="server" 
              NavigateUrl="~/dettagliLaurea/INF">
  Facoltà di Informatica
</asp:HyperLink>

Ne inseriamo un'altro dove puntiamo all'elenco degli iscritti e un terzo in cui specifichiamo anche l'anno accademico:

<asp:HyperLink ID="link2" runat="server" 
               NavigateUrl="~/elencoIscritti/">
  Iscritti al corso di laurea in Informatica
</asp:HyperLink>
<br />
<asp:HyperLink ID="link3" runat="server"
               NavigateUrl="~/elencoIscritti/FIS/2008">
  Iscritti al corso di laurea in Fisica nell'a.a. 2008
</asp:HyperLink>

Al posto delle solite querystring, possiamo utilizzare questi percorsi più significativi, proprio grazie al Routing, che chiamerà in causa le pagine relative a ciascun indirizzo. Nel nostro caso mandiamo tutte le richieste alla pagina target.aspx, che poi avrà il compito di reagire a seconda del caso.

Guide ASP.Net

Guida Windows Azure Code Snippets

Le migliori pratiche per far girare le applicazioni "in the cloud",...

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Amministratore di Reti Windows Server 2008

20 Febbraio 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto