一旦他们到达我在 DotNetNuke 页面上托管的应用程序,我就会尝试获取当前登录的用户。该应用程序是用 React.JS 构建的,我在 HTML 模块中渲染它。当用户到达应用程序时,我正在执行 ComponentDidMount 方法调用,并向我的 .ascx 文件发起 AJAX 请求以获取当前用户。 (ComponentDidMount 仅在加载应用程序时自动调用一次——对于所有阅读本文的 .NET 用户)。进入 ASCX 文件后,我将执行下面的代码,但只会得到“user”的输出。我应该调用一个类来在另一个文件中使用这个标记吗?我可以在下面的代码中做些什么来让当前用户登录到站点(很遗憾,DNN 不使用 session 变量,只使用 token )。
.ascx代码:
<%
Response.Write("user " & [User:UserName])
%>
最佳答案
我不明白你的设计,但我可以回答你的问题。方括号标记是在 HTML 模块内容中完成的替换。您不能在服务器端 .ascx 中使用它们。您需要调用核心 DNN API 方法以从服务器端 .ascx 代码获取用户:
<%
Response.Write("user " & DotNetNuke.Entities.Users.UserController.Instance.GetCurrentUserInfo().Username);
%>
关于.net - 在 DotNetNuke 中获取当前用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37167669/