我有一个使用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();
}
当我运行我的控制器时,我得到一些错误,如:
谢谢,
答案 0 :(得分:0)
您无法使用ASP.NET成员资格提供程序更新用户的UserName。如果您想更新用户名,则需要编写一些自定义数据访问逻辑。
答案 1 :(得分:0)
我建议主要使用成员资格提供程序进行身份验证,并将所有其他维护等方法构建到用户的业务对象中。