Comment obtenir l'URL de la page courante en C#

Quelqu'un peut-il m'aider à obtenir l'URL de la page de travail actuelle de ASP.NET en C# ?

Essayez ceci :

string url = HttpContext.Current.Request.Url.AbsoluteUri;
// http://localhost:1302/TESTERS/Default6.aspx

string path = HttpContext.Current.Request.Url.AbsolutePath;
// /TESTERS/Default6.aspx

string host = HttpContext.Current.Request.Url.Host;
// localhost
Commentaires (11)

si vous voulez juste la partie entre http:// et le premier slash

string url = Request.Url.Host;

renverrait stackoverflow.com si elle était appelée depuis cette page.

Voici la [ventilation complète] (http://msdn.microsoft.com/en-us/library/system.uri_properties.aspx)

Commentaires (3)

Une recherche m'a conduit à cette page, mais ce n'était pas tout à fait ce que je cherchais. Je poste ici au cas où quelqu'un d'autre cherchant ce que je cherchais atterrirait aussi sur cette page.

Il existe deux façons de procéder si vous ne disposez que d'une chaîne de caractères.

La méthode .NET :

Même chose que @Canavar, mais vous pouvez instancier un nouvel objet Uri.

String URL = "http://localhost:1302/TESTERS/Default6.aspx";
System.Uri uri = new System.Uri(URL);

ce qui signifie que vous pouvez utiliser les mêmes méthodes, par ex.

string url = uri.AbsoluteUri;
// http://localhost:1302/TESTERS/Default6.aspx

string host = uri.host
// localhost

la méthode Regex :

https://stackoverflow.com/questions/27745/getting-parts-of-a-url-regex

Commentaires (1)