asp.net-mvc-4 – 简单会员:用户的上次登录日期

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-4 – 简单会员:用户的上次登录日期前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的asp.net MVC 4应用程序中使用简单的成员资格.我如何获得用户的上次登录日期.我没有看到在默认的网页架构表中创建日期?我是否需要在简单会员资格中为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:

public ActionResult Index()
{
    return View("Index",_db.UserProfiles);
}

>最后,我在Index.cshtml中显示了LastLogin DateTime:

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

猜你在找的asp.Net相关文章