Добрый день ! Столкнулся с проблемой передачи и сохранения данных.. У меня есть стандартное действие изменение данных о пользователе :
[Route("Doctor/EditPacientInfo/{name}")]
public ActionResult EditPacientInfo(string name)
{
string username = User.Identity.Name;
// Fetch the userprofile
ApplicationUser user = db.Users.FirstOrDefault(u => u.UserName.Equals(username));
ViewBag.Email = user.Email;
// Construct the viewmodel
ApplicationUser model = new ApplicationUser()
{
PacientInfo = user.PacientInfo
};
return View(model);
}
[HttpPost]
public ActionResult EditPacientInfo(ApplicationUser pacient)
{
if (ModelState.IsValid)
{
//string username = User.Identity.Name;// <--- работает
string username = pacient.Email;// <---Не работает
// Get the userprofile
ApplicationUser user = db.Users.FirstOrDefault(u => u.UserName.Equals(username));
// Update fields
user.PacientInfo = pacient.PacientInfo;
db.Entry(user).State = EntityState.Modified;
db.SaveChanges();
return View(user); // or whatever
}
return View(pacient);
}
Суть в проблемы в POST-методе :
Если я использую :
string username = User.Identity.Name;
То метод работает как надо и все сохраняет в базе данных,НО если я использую :
string username = pacient.Email;
То метод выдает такую ошибку : Ссылка на объект не указывает на экземпляр объекта.(+строка кода ,где есть сама ошибка):
user.PacientInfo = pacient.PacientInfo;
В общем ,я хочу сделать так ,чтобы можно было редактировать поля в базе данных не только своего профиля (используя свойство User.Identity.Name
) ,но еще и других пользователь ( через свойство pacient.Email
).Возможно ли это вообще или мне как-то по-другому надо выкрутиться (а если по-другому,то как?)
Заранее,спасибо за ответы
Виртуальный выделенный сервер (VDS) становится отличным выбором
Здравствуйте, пытаюсь сделать клиент для IP камеры, ну вот за основу взял обычный клиент h264 CMS и её насниффил, а точнее какие данные должны проходить...