0

在每个皮肤的 dnn 中,我都放置了一个<dnn:User控件。该应用程序允许用户更新他们的显示名称(除了电子邮件)。

当用户更新电子邮件地址并单击页面刷新时的更新时,它不会反映在皮肤上。新电子邮件不会显示在皮肤上。

当我注销并登录时,它显示正确。

我正在使用 DotnetNuke 会员资格

如果我观察到 clearcache 没有清除当前用户信息,则成功调用 UpdateUser 后。

如果我看到 httpcontext.Current.Items["UserInfo"] 我仍然可以看到旧电子邮件等。

在我注销并再次登录后,我可以看到更新的新配置文件。

有什么解决方法吗

如何解决这个问题呢

4

1 回答 1

2

用户将被缓存 - 因此请确保您使用 API 更新显示名称。

                this.UserInfo.DisplayName = "New Name";
                UserController.UpdateUser(PortalId, this.UserInfo);
于 2012-09-30T10:31:02.150 回答