2016-05-11 12 views
1

Ich versuche, den aktuellen angemeldeten Benutzer zu bekommen, sobald sie meine App auf unserer DotNetNuke Seite gehostet haben. Die App ist in React.JS integriert, und ich renne es innerhalb des HTML-Moduls. Wenn der Benutzer die App erreicht, führe ich einen ComponentDidMount-Methodenaufruf durch und initiiere eine AJAX-Anfrage an meine .ascx-Datei, um den aktuellen Benutzer zu erhalten. (ComponentDidMount wird automatisch nur einmal aufgerufen, wenn die App geladen wird - Für alle .NET-Leute, die dies lesen). Sobald ich in der ASCX-Datei bin, führe ich den folgenden Code aus, bekomme aber nur die Ausgabe von "user". Soll ich eine Klasse anrufen, um dieses Token in einer anderen Datei zu verwenden? Was kann ich in meinem Code tun, um den aktuellen Benutzer auf der Site einzuloggen (DNN verwendet leider keine Session-Variablen, sondern nur Tokens).Erhalte aktuellen Benutzer in DotNetNuke

.ascx Code:

<% 
    Response.Write("user " & [User:UserName])  
%> 

Antwort

2

Ich verstehe nicht, Ihr Design, aber ich kann Ihre Frage beantworten. Die eckigen Klammer-Token sind Ersetzungen, die innerhalb des HTML-Modul-Inhalts durchgeführt werden. Sie können sie nicht in serverseitigem .ascx verwenden. Sie müssten die DNN-API-Kernmethode aufrufen, um den Benutzer vom serverseitigen ASCX-Code abzurufen:

<% 
    Response.Write("user " & DotNetNuke.Entities.Users.UserController.Instance.GetCurrentUserInfo().Username);  
%> 
Verwandte Themen