ASP.Net MVC 3 Membership.UpdateUser (пользователь MembershipUser) - PullRequest
0 голосов
/ 19 сентября 2011

У меня есть проект, который использует 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();
    }

когда я запускаю свой контроллер, я получаю сообщение об ошибке вроде:

  1. user.UserName только для чтения, я не могу его обновить.
  2. я получаю значение user.Comment, но оно не обновляется.
  3. Я получаю сообщение об ошибке в окне «Правка», в котором говорится «Ссылка на объект не установлена ​​для экземпляра объекта». @using (Html.BeginForm ("edit /" + @ Model.SysUsers [0] .UserID, "cpanel / sysuser", FormMethod.Post))

Кто-нибудь может мне помочь?

спасибо,

Ответы [ 2 ]

0 голосов
/ 19 сентября 2011

Я бы предложил использовать поставщика членства в основном для аутентификации и встроить все другие методы обслуживания и т. Д. В бизнес-объекты вашего пользователя.

0 голосов
/ 19 сентября 2011

Нельзя обновить имя пользователя пользователя с помощью поставщика членства ASP.NET.Вам нужно написать некоторую пользовательскую логику доступа к данным, если вы хотите обновить имя пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...