Wie erhalte ich den aktuellen Login-Benutzernamen in meiner Script-Datei in meinem asp.net mvc

8

Ich habe eine Skriptdatei, die einen Aufruf an die JSON-API sendet, und ich muss den aktuellen Benutzernamen als Teil des Aufrufs senden. Ich habe folgendes versucht: -

%Vor%

Aber es wird den folgenden Fehler auslösen: - 'HttpContext' ist nicht definiert

    
john G 10.10.2012, 13:11
quelle

5 Antworten

14

Ihr Skript sucht nach einer JavaScript -Variablen namens HttpContext Ihr Code sollte

sein %Vor%

in Razor

so wird das Javascript

%Vor%

Sie fehlen auch und & zwischen dem Benutzernamen und packageId, wenn Sie für sie getrennte Variablen sein wollten

Bearbeiten : basierend auf Ihrem Kommentar und dieser innerhalb einer js-Datei (die ich vermisse ich in der OP verpasst)

Zwei Optionen:

  1. Enthält den Benutzernamen in einer Variablen auf der Seite, die die Skriptdatei aufruft. So:

Seite

%Vor%

JS-Datei

%Vor%

Option Zwei besteht darin, den Benutzernamen überhaupt nicht zu verwenden und ihn nur von der Aktion zu erhalten. Dies ist nur eine Option, wenn sich die Seite, auf der Sie posten, auf derselben App befindet

    
Eonasdan 10.10.2012, 13:14
quelle
1

Sie können nur User.Identity.Name verwenden, das von System.Web.WebPages.WebPageRenderingBase abgeleitet ist (dh der Code sollte in einer View-Datei sein). Sie können auf serverseitigen Code nicht direkt in Skriptdateien zugreifen.

%Vor%     
Mario Sannum 10.10.2012 13:13
quelle
1

Sie müssen eine JavaScript-Variable in Ihrer Ansicht (.cshtml) mit dem Rasierer setzen und diese dann in Ihrer Skriptdatei (.js) verwenden

Aus Ihrer Sicht:

%Vor%

und dann deine Skriptdatei

%Vor%     
dove 10.10.2012 13:13
quelle
1
%Vor%

Der obige Code sollte funktionieren, auf der JavaScript-Seite haben Sie keinen Zugriff auf das HTTPContent-Objekt, das nur auf dem Server verfügbar ist, aber wenn Sie sie in einen Server-Code einfügen, sollten Sie darauf zugreifen können.

oder Sie können ein verstecktes Steuerelement mit dem vom Server festgelegten Wert haben

%Vor%

Servercode würde wie

aussehen %Vor%     
quelle
1
  

var usrName = '<%[email protected]%>'

    
Annia Martinez 12.02.2016 16:04
quelle