У меня есть проект, который использует MVC3. в моем проекте у меня есть страница, на которой пользователь может редактировать свою учетную запись (UserComment, UserEmail, IsLocked, IsApproved). я уже делаю вид для редактирования учетной записи. У меня возникли проблемы с редактированием контроллера.
вот мой код:
[HttpPost]
public ActionResult Edit(string id, FormCollection collection)
{
id = id.Replace("+", " ");
var user = Membership.GetUser();
Guid UserGUID = new Guid(user.ProviderUserKey.ToString());
var SysUser = db.System_User.Single(u => u.User_UserId == UserGUID);
//this is for updating User Office in my System_user table
SysUser.User_Office = collection["SysUsers[0].UserOffice"];
//this is for updating User Account in aspnet_membership table
user.UserName = collection["SysUsers[0].UserName"];
Membership.UpdateUser(user);
user.Comment = collection["SysUsers[0].UserComment"];
Membership.UpdateUser(user);
user.Email = collection["SysUsers[0].UserEmail"];
Membership.UpdateUser(user);
return View();
}
когда я запускаю свой контроллер, я получаю сообщение об ошибке вроде:
- user.UserName только для чтения, я не могу его обновить.
- я получаю значение user.Comment, но оно не обновляется.
- Я получаю сообщение об ошибке в окне «Правка», в котором говорится «Ссылка на объект не установлена для экземпляра объекта».
@using (Html.BeginForm ("edit /" + @ Model.SysUsers [0] .UserID, "cpanel / sysuser", FormMethod.Post))
Кто-нибудь может мне помочь?
спасибо,