如何解决如何在ASP.NET MVC中使用EntityFramework6.Npgsql从Postgres数据库获取数据?
我正在使用Npgsql和EntityFramework6.Npgsql在ASP.NET MVC中创建一个登录应用程序,我想实现一个通过标识号检索密码的功能,即用户单击“我忘记了密码”按钮,那么他必须输入标识号,程序会检查该标识号是否存在或正确,然后显示用于更改密码的用户信息。
用户的模型类:
public partial class user
{
public int id { get; set; }
[display(Name = "Id number")]
[required(AllowEmptyStrings = false,ErrorMessage = "It's necessary the id number")]
public string idnumber { get; set; }
[display(Name = "Name")]
[required(AllowEmptyStrings = false,ErrorMessage = "It's necessary the name")]
public string fname { get; set; }
[display(Name = "Last name")]
[required(AllowEmptyStrings = false,ErrorMessage = "It's necessary the last name)]
public string lname { get; set; }
[display(Name = "Password")]
[required(AllowEmptyStrings = false,ErrorMessage = "It's necessary a pass")]
[DataType(DataType.Password)]
[MinLength(6,ErrorMessage = "Min six letters")]
public string pass { get; set; }
[display(Name = "Confirm pass")]
[DataType(DataType.Password)]
[Compare("pass",ErrorMessage = "The pass don't match")]
public string check_pass { get; set; }
[display(Name = "Email")]
[required(AllowEmptyStrings = false,ErrorMessage = "It's necessary an email")]
[DataType(DataType.EmailAddress)]
public string email { get; set; }
}
因此,在[HttpGet]
中,标识号是由程序获得的,而[HttpPost]
中的信息是由标识号更改的,或者应该这样做。
[HttpGet]
public ActionResult recoverPass()
{
return View();
}
[HttpPost]
public ActionResult recoverPass(userPassRecover user)
{
using(inventarioEntitiesDBA dc = new inventarioEntitiesDBA())
{
var u = dc.user.Where(a => a.cedula == user.cedula).FirstOrDefault();
dc.user.Remove(u);
dc.user.Add(user);
dc.SaveChanges();
return View();
}
}
我真的不知道如何进行这项工作,任何建议都值得赞赏
解决方法
如果有人遇到相同的问题:
[HttpGet]
public ActionResult recoverPass()
{
return View();
}
[HttpPost]
public ActionResult recoverPass(userRecoverPass user)
{
using (inventarioEntitiesDBA dc = new inventarioEntitiesDBA())
{
var u = dc.user.Where(a => a.idnumber == user.idnumber)?.FirstOrDefault();
if (u != null)
{
u.pass = user.newpass;
dc.SaveChanges();
}
return RedirectToAction("login");
}
}
“ userRecoverPass”对象是其中仅要求信息来执行密码更改的模型。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。