1

场景是,如果用户第一次使用他的一次性密码登录,它应该被重定向到ResetPassword.aspx

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

我应该使用IsPostBackorMembership.ValidateUser吗?

我们通常如何在 C# 中编写代码来检查它是否是新用户(使用首次登录)?

我是编程新手,在网上没有获得足够的信息。请帮忙

4

2 回答 2

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使其可为空。当用户注册时,保持该字段为 NULL。

当用户登录时,只需检查是否LastLoginDate为 NULL 即

   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");
   }
于 2013-03-26T08:34:32.227 回答
1

Membership.ValidateUser 检查他/她是否未获得批准或是否提供了错误的凭据。

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

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

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

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

于 2013-03-26T08:35:21.950 回答