8
私はasp.net MVC 4アプリケーションのシンプルなメンバーシップを使用しています。ユーザーの最終ログイン日を取得する方法私は日付が既定のWebページのスキーマテーブルで作成されて表示されません?簡単なメンバーシップでLastLoginの日付のフィールドを作成する必要がありますか? おかげ単純なメンバーシップ:ユーザの最終ログイン日
私はasp.net MVC 4アプリケーションのシンプルなメンバーシップを使用しています。ユーザーの最終ログイン日を取得する方法私は日付が既定のWebページのスキーマテーブルで作成されて表示されません?簡単なメンバーシップでLastLoginの日付のフィールドを作成する必要がありますか? おかげ単純なメンバーシップ:ユーザの最終ログイン日
は、私がこのように解決した:
私はUsersContextでのUserProfileモデルにLastLoginフィールドを追加しました:
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public virtual string UserName { get; set; }
public virtual DateTime? LastLogin { get; set; }
}
私はAccountControllerにログイン方法を変更:
public ActionResult Login(LoginModel model, string returnUrl)
{
if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
{
using (UsersContext db=new UsersContext())
{
UserProfile userProfile = db.UserProfiles.SingleOrDefault(u=>u.UserName==model.UserName);
userProfile.LastLogin = DateTime.Now;
db.Entry(userProfile).State=EntityState.Modified;
db.SaveChanges();
}
return RedirectToLocal(returnUrl);
}
// If we got this far, something failed, redisplay form
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return View(model);
}
次に、怒鳴る方法のようにUSERPROFILES:
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.UserName)
</td>
<td>
@Html.DisplayFor(modelItem => item.LastLogin)
</td>
</tr>
}
おかげBabul Mirdha:
は最後に、私はIndex.cshtmlでLastLoginのDateTimeを表示しました。私は同じように解決します。私はasp.netメンバーシップに類似した単一のメンバーシップ・プロバイダーに何かがあるかもしれないと考えました。 asp.netメンバーシップにはlastloginプロパティがあり、lastloginのレコードを更新します – Gayatri
ようこそ、Gayatri、まあ、lastloginプロパティはAsp.Netメンバーです。だから私はMVC4でSimpleMembershipのLastLoginプロパティも期待していましたが、これまでには得られませんでしたので、このように解決しました。 –
このLastLoginフィールドは「仮想」として宣言されているのはなぜですか? –