ASP.Net MVC 3 Membership.UpdateUser(用户的MembershipUser) [英] ASP.Net MVC 3 Membership.UpdateUser(MembershipUser user)
问题描述
我有使用MVC3的项目。在我的项目,我有一个用户可以编辑自己的帐户(UserComment在,USEREMAIL,IsLocked,IsApproved)的页面。我已经做了编辑帐户查看。我有一些麻烦,使编辑控制器。
这里是我的code:
i have a project that use MVC3. in my project, i have a page that user can edit their account (UserComment, UserEmail, IsLocked, IsApproved). i already make the View for Edit Account. i have some trouble to make the Edit Controller. here's my code:
[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();
}
当我运行我的控制器,我得到像一些错误:
when i run my controller, i get some error like :
- user.UserName是只读的,我无法更新这一项。
- 我得到user.Comment价值,但它不会更新。
- 我得到的错误在我的编辑视图,它说:对象引用不设置到对象的实例。
@using(Html.BeginForm(编辑/+ @ Model.SysUsers [0] .UserID的cPanel / SYSUSER,FormMethod.Post))
谁能帮助我?
感谢,
推荐答案
您不能更新使用ASP.NET成员资格提供程序的用户的用户名。你需要,如果你想更新的用户名编写一些自定义的数据访问逻辑。
You cannot update the UserName of a user using ASP.NET Membership provider. You need to write some custom data access logic if you wish to update a username.
这篇关于ASP.Net MVC 3 Membership.UpdateUser(用户的MembershipUser)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!