AspNetUsers无法更新自定义列

时间:2017-05-22 14:11:41

标签: asp.net .net entity-framework asp.net-identity asp.net-mvc-5

所以我有.net身份模型的问题。我在我的ApplicationUserManager中创建了布尔变量IsEnabled,试图创建一个“块帐户”方法。所以它工作正常,IsEnabled = false的任何人都无法登录我的网站。问题是我试图为这个变量实现administartion方法(例如Block_Account())我无法在用户中保留我的更改。这是一个代码;

    protected void Block_Click(object sender, EventArgs e)
    {
        string itemID;
        using (GridViewRow row = (GridViewRow)((Button)sender).Parent.Parent)
        {
            HiddenField lUId = (HiddenField)row.FindControl("ClientId");
            itemID = lUId.Value;
        }
        var user = Context.GetOwinContext().Get<ApplicationDbContext>().Users.Where(a => a.Email == itemID).FirstOrDefault();
        //Label1.Text = user.UserName;
        if (user.IsEnabled == true || user.IsEnabled == null)
        { user.IsEnabled = false; }
        else { user.IsEnabled = true; }
       Context.GetOwinContext().Get<ApplicationDbContext>().SaveChanges();
    }

再试一次

    protected void Block_Click(object sender, EventArgs e)
    {
        string itemID;
        using (GridViewRow row = (GridViewRow)((Button)sender).Parent.Parent)
        {
            HiddenField lUId = (HiddenField)row.FindControl("ClientId");
            itemID = lUId.Value;
        }
        var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>();
        var user = manager.FindByEmail(itemID);
        Label1.Text = user.UserName;
        if (user.IsEnabled == true || user.IsEnabled == null)
        { user.IsEnabled = false; }
        else { user.IsEnabled = true; }
        manager.Update(user);
        Context.GetOwinContext().Get<ApplicationDbContext>().SaveChanges();

    }

两者都没有实际工作。

所以我从GridView获得了正确的值并找到了一个带有正确电子邮件的用户,但在进行更改后,它们不会出现在我的数据库中。

0 个答案:

没有答案