[英]how to get data from Postgres data base with EntityFramework6.Npgsql in ASP.NET MVC?
我正在使用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` 對象是僅請求信息來執行密碼更改的模型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.