单击提交按钮 - MVC 5后,数据未保存

时间:2017-03-01 21:36:01

标签: asp.net-mvc entity-framework code-first

点击sumbit按钮并尝试调试代码后,我没有收到任何错误或异常,但数据未保存 我有一个名为login的类...需要用户点击登录按钮后将其数据保存在数据库中 这是我的帖子行动:

    [HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]
    public ActionResult Login(Login model, string returnUrl)
    {
        Context db = new Context();
        if (string.IsNullOrEmpty(model.LoginName))
        {
            this.ModelState.AddModelError("LoginName", "this field is required");
            return this.View(model);
        }
        try
        {
            if (ModelState.IsValid)
            {

                var user = new Login { LoginName = model.LoginName, LoginPassword = model.LoginPassword };
                db.Logins.Add(user);
                db.SaveChanges();
                return Redirect("http://www.google.com");
            }


            else
                return View();

        }
        catch (Exception e)
        {
            return View();
        }
    }

这是我的登录类:

[Table("Login")]
public partial class Login
{
    public int ID { get; set; }

    [StringLength(50)]
    public string LoginName { get; set; }

    [StringLength(10)]
    public string LoginPassword { get; set; }
}

这是我的DBContext:

public class LoginContext : DbContext 
{
    public LoginContext () : base("LoginContext ")
    {
    }
    public virtual DbSet<Login> Logins { get; set; }
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
    }
}

返回谷歌链接后,数据未保存。

1 个答案:

答案 0 :(得分:0)

尝试了很多解决方案后我发现:

  1. 当添加Code第一个代码时,我已经使用了DBContext 表名“登录”的名称相同。

  2. 删除所有这些,然后首先添加新代码“DBContext”和 选择你的数据库。

  3. 会发现DBConext会自动添加,您的表格也会添加。 这将正常工作。