单击提交按钮后数据未保存 - MVC 5
Data Not Saved after click on submit button - MVC 5
点击 sumbit 按钮并尝试调试代码后,我没有收到任何错误或异常,但数据未保存
我有一个名为 login 的 class ... 在单击登录按钮后需要用户将其数据保存在数据库中
这是我的 Post 操作:
[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();
}
}
这是我的登录名 Class:
[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>();
}
}
后return到googlelink数据未保存。
在尝试了很多解决方案后,我终于发现:
添加代码优先代码时,我使用
与 table 同名 "Login".
全部删除然后先添加新代码"DBContext"然后
选择你的数据库。
会发现DBConext会自动添加,你的table也会添加。
这将正常工作。
点击 sumbit 按钮并尝试调试代码后,我没有收到任何错误或异常,但数据未保存 我有一个名为 login 的 class ... 在单击登录按钮后需要用户将其数据保存在数据库中 这是我的 Post 操作:
[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();
}
}
这是我的登录名 Class:
[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>();
}
}
后return到googlelink数据未保存。
在尝试了很多解决方案后,我终于发现:
添加代码优先代码时,我使用 与 table 同名 "Login".
全部删除然后先添加新代码"DBContext"然后 选择你的数据库。
会发现DBConext会自动添加,你的table也会添加。 这将正常工作。