2013-03-26 73 views
1

的情况是,如果用户已经登录第一个用他的一次性密码应该重定向到ResetPassword.aspx如何找到用户是否登录的第一次 - C#

如果用户不是新的,那么应该重定向到Main.aspx页面。

我应该用IsPostBack还是Membership.ValidateUser

我们通常如何在C#中检查是否有新用户(使用首次登录)?

我是一个新手编程没有得到足够的信息在网上。请帮助

回答

3

IsPostBack检查不会帮助你想要什么。你需要通过数据库来维护它。

IsPostBack Gets a value that indicates whether the page is being rendered 
for the first time or is being loaded in response to a postback. 

它与页面后,不与您的数据库或用户或您的逻辑:)

为了帮助你与你的逻辑做的,你需要保持一个单独的列,以确定是否用户第一次来了或没有。

一个简单的逻辑:

使列在表格中,LastLoginDate让它空。当用户注册时,请将此字段保留为空。

当用户登录时,只需将一查LastLoginDate是否为空或不是即

if(userObj.LastLoginDate == null) 
    { 
     //user has come for the first time 
     //code to update the LastLoginDate to DateTime.Now 
     Redirect("resetPassword.aspx"); 
    } 
    else 
    { 
     //code to update the LastLoginDate to DateTime.Now 
     Redirect("home.aspx"); 
    } 
+0

谢谢你的快速回复。你能解释一下IsPostBack用于什么吗? – user2138814 2013-03-26 08:35:45

+0

看到我的答案。这是一个非常简单的检查 – 2013-03-26 08:38:03

+0

谢谢你一个简单的答案。 – user2138814 2013-03-26 08:44:53

1

Membership.ValidateUser检查,如果他/她不获批准或是否提供错误的凭据。

对于这个问题,在创建新用户时在数据库中设置一些标志。

当用户登录时,请检查其标志。

如果它指示新用户,则将其重定向到resetpassword页面。

只需在重定向后更改标志状态,以便下次不会将其指示为新用户。

相关问题