0
我在名爲「ForgotPasswordDate」的新列中添加了aspnet_Membership表。當用戶點擊密碼恢復控制中的提交按鈕時,它將通過使用getDate()方法將用戶點擊該按鈕的時間存儲到「ForgotPasswordDate」列中。在aspnet_Membership表中找不到新列
之後,用戶將收到包含一個URL,指示他們到ChangePassword.apsx電子郵件。
我想使爲ChangePassword.aspx頁面後第1天的用戶曾要求新的密碼過期。這可以通過使用「ForgotPasswordDate」列中的時間並使用AddDay()方法來完成。
但是,代碼給了我一個問題。我認爲他們無法識別Membership表中的「ForgotPasswordDate」列。
這是有一個錯誤的代碼:用於測試目的
if (DateTime.Now < user.ForgotPasswordDate.AddMinutes(3))
,目前我只設置邏輯爲3分鐘。
和錯誤消息是:
System.Web.Security.MembershipUser' does not contain a definition for 'ForgotPasswordDate' and no extension method 'ForgotPasswordDate' accepting a first argument of type 'System.Web.Security.MembershipUser' could be found (are you missing a using directive or an assembly reference?
這裏是整個代碼:
protected void Page_Load(object sender, EventArgs e)
{
//if the id is in the query string
if (!string.IsNullOrEmpty(Request.QueryString["ID"]))
{
//store the user id
Guid userId = new Guid(Request.QueryString["ID"]);
//attempt to get the user's information
MembershipUser user = Membership.GetUser(userId);
if (DateTime.Now < user.ForgotPasswordDate.AddMinutes(3)) //here is the part
{
//Page not expire yet.
hidden.Text = user.ProviderUserKey.ToString();
Server.Transfer("~/ChangePassword.aspx");
}
else
{
//Expired; direct to Page Expired Page
Server.Transfer("~/PageExpired.aspx");
}
}
}
反正有該系統能夠在aspnet_membership表來識別新列?