Wie kann man in Asp.Net beim Aufruf einer Seite abfragen, wo man sich befindet?
Aufgabe:
ich möchte beim Aufruf der Webseite Seite: Edit, dass manche HTML Teilabschnitte wie Werbung nicht angezeigt werden.
Die Asp.Net MVC Core Webseite Edit ist als View: Edit.cshtml gespeichert.
Eine View ist normalerweise in einem Master Layout eingebettet wie hier: Views/Shared/_Layout.cshtml.
Lösung:
Man muss in der View den Context.Request.Path abfragen.
Dieser ergibt zur Laufzeit den kompleten Pfad zurĂŒck wie : "/Notes/Edit"
Man kann dann wie hier im Beispiel mit der @{Razor} aus Server-Script die Ausgabe von HTML steuern
@{ //----< Ads >---- string sWebsite = Context.Request.Path;
sWebsite = sWebsite.ToLower(); if (sWebsite.Contains("/edit") == false) { await Html.PartialAsync("_Ads_Google_Automatic"); } //----</ Ads >---- }
|
Name |
Value |
Type |
|
ⶠ|
Context.Request |
{Microsoft.AspNetCore.Http.Internal.DefaultHttpRequest} |
Microsoft.AspNetCore.Http.HttpRequest {Microsoft.AspNetCore.Http.Internal.DefaultHttpRequest} |
sWebsite.Contains("/edit") |
true |
bool |
|
sWebsite |
"/notes/edit" |
string |
|
sWebsite.IndexOf("/edit") |
6 |
int |
|
ⶠ|
Context.Request.Path |
{/Notes/Edit} |
Microsoft.AspNetCore.Http.PathString |
sWebsite.Contains("/Edit") |
false |
bool |