如何更新登录信息

时间:2013-12-15 21:26:49

标签: asp.net-mvc

我有一个启用了ajax的登录表单,它对服务器进行ajax调用以登录。如果成功,则使用用户名设置Session对象。然后,当它完成时,OnSuccess事件会调用部分视图更新,然后显示用户名。

这在VS中运行良好。但是,部署时却没有。我认为问题是Session没有足够快地更新,以便第二个ajax调用能够看到它。如果我刷页面,则更新用户名。

还有其他方法我应该这样做吗?我唯一能想到的是进行数据库调用以查看用户是否已登录,而不是依赖于会话对象。

这是部分视图:

<ul id="LoginLinksPartial">


@{ var customer = (NTC.PropertySearch.Models.Customer)Session["Customer"];}

@if (customer!=null)
{
        @customer.DisplayName
        @Html.ActionLink("Logout", "Logout", "Account")

}
else
{
    <ul>
        <a onclick="openLoginWindow()">Login</a>
        <a onclick="openRegisterWindow()">Register</a>
    </ul>
}
</ul>

1 个答案:

答案 0 :(得分:0)

作为答案,所以可以解决问题:

客户端尚未将会话发送回服务器以创建会话握手。

在这种情况下,建议所有购物者在首次访问网站时都有会话,如果发生登录(在弹出窗口内),则会使用用户REAL ID更新会话,如果需要,还会更新篮子行。新会话ID或用户ID。

相关问题