403 Stimmen

Wie man aktuelle Seite URL in MVC 3 erhalten

Ich verwende das Facebook-Kommentar-Plugin in einem Blog, den ich gerade aufbaue. Es hat einige FBXML-Tags, die vom Facebook-Javascript interpretiert werden, das auf der Seite referenziert wird.

Das alles funktioniert gut, aber ich muss die aktuelle, voll qualifizierte URL an das Plugin übergeben.

<div style="width: 900px; margin: auto;">
    <div id="fb-root"></div>
    <fb:comments href="URL HERE" num_posts="10" width="900"></fb:comments>
</div>

Wie bekomme ich am besten die URL der aktuellen Seite? Die Anfrage-URL.

Lösung

Hier ist der endgültige Code für meine Lösung:

<fb:comments href="@Request.Url.AbsoluteUri" num_posts="15" width="900"></fb:comments>

5voto

Carter Medlin Punkte 11077

Mein Favorit...

Url.Content(Request.Url.PathAndQuery)

oder einfach...

Url.Action()

4voto

tdahman1325 Punkte 131

Dies hat bei mir für Core 3.0 für die vollständige URL funktioniert:

$"{Request.Scheme}://{Request.Host.Value}{Request.Path.Value}"

1voto

Lyall Punkte 1267

Eine Sache, die in anderen Antworten nicht erwähnt wird, ist die Unterscheidung zwischen Groß- und Kleinschreibung, wenn an mehreren Stellen darauf verwiesen werden soll (was in der ursprünglichen Frage nicht der Fall ist, aber in Betracht gezogen werden sollte, da diese Frage in vielen ähnlichen Suchvorgängen auftaucht). Auf der Grundlage anderer Antworten habe ich herausgefunden, dass das Folgende bei mir zunächst funktioniert hat:

Request.Url.AbsoluteUri.ToString()

Aber um zuverlässiger zu sein, wurde dies dann:

Request.Url.AbsoluteUri.ToString().ToLower()

Und dann für meine Anforderungen (Überprüfung des Domänennamens, von dem aus auf die Website zugegriffen wird, und Anzeige des entsprechenden Inhalts):

Request.Url.AbsoluteUri.ToString().ToLower().Contains("xxxx")

1voto

boateng Punkte 868

Bei mir trat das Problem auf, als ich versuchte, auf HTTPContext im Konstruktor des Controllers, während HTTPContext ist noch nicht fertig. Beim Verschieben innerhalb der Index-Methode hat es funktioniert:

var uri = new Uri(Request.Url.AbsoluteUri);
url = uri.Scheme + "://" + uri.Host + "/";enter code here

0voto

Hamit YILDIRIM Punkte 3566

Der Fall (Einzelseitenstil) für den Browserverlauf

HttpContext.Request.UrlReferrer

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X