2013-01-14 11 views
8

私はasp.net MVC 4アプリケーションのシンプルなメンバーシップを使用しています。ユーザーの最終ログイン日を取得する方法私は日付が既定のWebページのスキーマテーブルで作成されて表示されません?簡単なメンバーシップでLastLoginの日付のフィールドを作成する必要がありますか? おかげ単純なメンバーシップ:ユーザの最終ログイン日

答えて

10

は、私がこのように解決した:

  1. 私は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; } 
    } 
    
  2. 私は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); 
    } 
    
  3. 次に、怒鳴る方法のようにUSERPROFILES:

    @foreach (var item in Model) 
    { 
        <tr> 
         <td> 
          @Html.DisplayFor(modelItem => item.UserName) 
         </td> 
         <td> 
          @Html.DisplayFor(modelItem => item.LastLogin) 
         </td> 
        </tr> 
    } 
    
+0

おかげBabul Mirdha:

public ActionResult Index() { return View("Index",_db.UserProfiles); } 
  • は最後に、私はIndex.cshtmlでLastLoginのDateTimeを表示しました。私は同じように解決します。私はasp.netメンバーシップに類似した単一のメンバーシップ・プロバイダーに何かがあるかもしれないと考えました。 asp.netメンバーシップにはlastloginプロパティがあり、lastloginのレコードを更新します – Gayatri

  • +0

    ようこそ、Gayatri、まあ、lastloginプロパティはAsp.Netメンバーです。だから私はMVC4でSimpleMembershipのLastLoginプロパティも期待していましたが、これまでには得られませんでしたので、このように解決しました。 –

    +0

    このLastLoginフィールドは「仮想」として宣言されているのはなぜですか? –

    関連する問題