У меня есть страница, которая строго относится к моему классу "Пользователь". Когда он загружается, я загружаю его по идентификатору из базы данных и передаю его в представление.
Когда публикуется форма редактирования, объект отправляется в метод контроллера нормально, с некоторыми другими параметрами. Объект имеет свои свойства, заполненные в форме, но его идентификатор (который явно отсутствует в форме) не публикуется.
Даже когда я вручную устанавливаю его в код в качестве идентификатора и пытаюсь сохранить свой контекст, в базе данных ничего не происходит.
Вот примерное представление кода с вещами, взятыми для краткости.
public ActionResult MyProfile()
{
ViewData["Countries"] = new SelectList(userService.GetCountries(), "id", "name");
return View(userService.GetById(CurrentUser.id));
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult MyProfile(MSD_AIDS_Images_Data.LINQRepositories.User user, string password2)
{
user.id = CurrentUser.id; //user id isn't posted, so need to reassign it
userService.SaveChanges();
}
Я написал код, подобный этому, дюжину раз, и он сработал, что не так?
EDIT
Когда я отлаживаю объект пользователя, его свойства PropertyChanged и PropertyChanging устанавливаются в NULL