Здесь у меня есть строго типизированный вид, в котором я показываю зарегистрированный пользователь своим данным в форме, которая позволит обновлять измененные данные и изменения отражаются в базе данных.Мне нужно обновить представление модели и отразить эти изменения в базе данных
Я написал весь код для методов действий как в методе GET, так и в POST, но я не могу понять, что вызывает проблему. Проблема в том, что изменения, которые я сделал на странице просмотра, привязанной к модели класс не отражается обратно в таблицу базы данных, хотя я написал метод db.submit changes().
Ниже мой код: методы действия GET и POST для просмотра страницы Detailsupdate:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult PatientDetailsPage2(Patients p)
{
if (ModelState.IsValid)
{
tblPatient updatedpatientdetail = new tblPatient()
{
PatientName = p.PatientName,
PatientAge = (short) p.Age,
PatientMail = p.PatientEmail,
PatientMobileNo = p.PatientMobileNo,
PatientPassword = p.PatientPassword
};
db.SubmitChanges();
return View();
}
else
{
ViewBag.ErrorMessage = "Please ensure all the fields are filled correctly";
}
return View();
}
public ActionResult PatientDetailsPage2()
{
if(TempData["doc"] != null)
{
var data = (Patients)TempData["doc"];
return View(data);
}
return View();
}
Кроме того, я хотел бы отметить, что, когда я место отладки и сканирования для обновленных значений он показывает обновленное значение в точке, где объект модели присваивается параметрам таблицы, но как только передается изменение кода строки, он показывает старое значение для поля пароля (значение поля, которое я хочу обновить здесь). Пожалуйста, помогите мне программисты!
Необходимо добавить 'tblPatient' в контекст перед сохранением - например. 'Db.Patients.Add (tblPatient); db.SaveChanges(); ' –
@StephenMuecke Пациенты - это класс модели, и он вообще не загружается в коде –
Извините, это должно быть' updatedpatientdetail', а не 'tblPatient' –