135 votes

Comment afficher l'URL actuelle dans asp.net core 1.0

Dans les versions précédentes de asp.net, nous pouvions utiliser

 @Request.Url.AbsoluteUri
 

Mais il semble que cela a changé. Comment pouvons-nous faire cela dans asp.net core 1.0?

156voto

Clint B Points 2680

Vous devez obtenir l'hôte et le chemin séparément.

  @Context.Request.Host@Context.Request.Path
 

133voto

tmg Points 11776

Vous avez besoin de schéma, hôte, chemin et queryString

 @string.Format("{0}://{1}{2}{3}", Context.Request.Scheme, Context.Request.Host, Context.Request.Path, Context.Request.QueryString)
 

ou en utilisant la nouvelle fonctionnalité C # 6 "interpolation de chaîne"

 @($"{Context.Request.Scheme}://{Context.Request.Host}{Context.Request.Path}{Context.Request.QueryString}")
 

109voto

AlexBar Points 441

Vous pouvez utiliser la méthode d'extension de Request :

 Request.GetDisplayUrl()
 

18voto

Dhanuka777 Points 822

Utilisez la propriété AbsoluteUri de l’Uri. Avec le noyau .Net, vous devez créer l’Uri à partir de la requête comme ceci,

  var location = new Uri($"{Request.Scheme}://{Request.Host}{Request.Path}{Request.QueryString}");

 var url = location.AbsoluteUri;
 

Par exemple, si l'URL de la requête est ' http://www.contoso.com/catalog/shownew.htm?date=today ', elle retournera la même URL.

7voto

Sergey Points 61
public string BuildAbsolute(PathString path, QueryString query = default(QueryString), FragmentString fragment = default(FragmentString))
{
    var rq = httpContext.Request;
    return Microsoft.AspNetCore.Http.Extensions.UriHelper.BuildAbsolute(rq.Scheme, rq.Host, rq.PathBase, path, query, fragment);
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X