所以我创建了一个Web应用程序,允许管理员更改用户配置文件数据。当然有一个页面,用户可以更改自己的数据,管理员也是如此。 因此,管理员基本上有2个页面可以在“用户管理”页面和“我的个人资料”页面上更改自己的数据。当管理员在“用户管理”页面上更改数据时,会出现问题,但在“我的个人资料”中不会显示更改,但反之亦然。
我意识到问题在于导入数据的方式。在UA页面上,它直接来自数据库,而在“我的个人资料”页面上,它会通过我创建的当前用户会话变量。所以它不会像它应该的那样更新它,我已经到处寻找解决方法,但到目前为止运气不好,所以我很感激你的帮助。
谢谢。
编辑:
好的,所以我在用户登录时创建Session.Item("login")
,如下所示:
Context.Session.Add("login", userData)
userData
是我当前的用户,包含用户名,密码,名字,姓氏等...我的用户类的一个实例很快就会把它放进去。
然后在我的User Control
我的Page_Load
If Not Page.IsPostBack Then
Dim login As New User
login = Session.Item("login")
PopulateUsersData(login)
End If
我从中获取了User Control
名为My Profile的数据。方法PopulateUserData
仅显示从login
实例到我的控件页面的数据。
Session.Item("login")
是我想要更新的会话变量。
希望这是足够的数据。
答案 0 :(得分:1)
您可以通过在两个地方以相同方式处理用户信息来解决此问题。
您检查正在编辑的用户是否是登录用户,如果是,请更新当前登录的信息以及数据库条目。