Readdy Write

Asp.Net Razor: Webseite abfragen

06.11.2018 (👁5975)


 

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

 


0,00 €