Ricavare parti di un URL con la classe Uri

Andrea Zani

di , in UserScript, ASP.NET, System.Net,

Grazie alla proprietà Segments della classe Uri, possiamo accedere ad ogni singola parte di un Url per poter estrapolare eventuali informazioni come la cartella attuale o il nome della pagina.

Se per esempio scriviamo questo codice:

Uri u=new Uri("http://forum.aspitalia.com/forum/Forum.aspx?ForumID=6");
foreach (string parte in u.Segments)
  Response.Write(parte+"<br />");

Otterremo come risultato:
/
forum/
Forum.aspx

Questo ci permette, nel caso vogliamo avere solo il nome della pagina richiamata, di scrivere per ottenere l'informazione:

Response.Write(Request.Url.Segments[Request.Url.Segments.Length-1]);

E' possibile utilizzare questa tecnica anche con percorsi "fisici":

Uri u2=new Uri(@"c:\windows\sytem\nomefile.exe");
foreach (string parte in u2.Segments)
  Response.Write(parte+"<br />");

Per ottenere:

c:
/
windows/
sytem/
nomefile.exe