VB.Net会话更新

时间:2012-07-31 11:49:58

标签: asp.net vb.net

所以我创建了一个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")是我想要更新的会话变量。

希望这是足够的数据。

1 个答案:

答案 0 :(得分:1)

您可以通过在两个地方以相同方式处理用户信息来解决此问题。

您检查正在编辑的用户是否是登录用户,如果是,请更新当前登录的信息以及数据库条目。