我想更新我的项目中的用户帐户。我有这样一个观点:ASP.Net MVC 3如何更新用户帐户?
@using (Html.BeginForm("edit/" + @Model.SysUsers[0].UserID, "cpanel/sysuser",
FormMethod.Post))
{
@Html.ValidationSummary(true)
<fieldset>
<legend>@Model.SysUsers[0].UserID</legend>
<div class="editor-label">
@Html.LabelFor(model => model.SysUsers[0].UserName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.SysUsers[0].UserName)
@Html.ValidationMessageFor(model => model.SysUsers[0].UserName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.SysUsers[0].UserEmail)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.SysUsers[0].UserEmail)
@Html.ValidationMessageFor(model => model.SysUsers[0].UserEmail)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.SysUsers[0].UserComment)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.SysUsers[0].UserComment)
@Html.ValidationMessageFor(model => model.SysUsers[0].UserComment)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.SysUsers[0].UserLocked)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.SysUsers[0].UserLocked)
@Html.ValidationMessageFor(model => model.SysUsers[0].UserLocked)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.SysUsers[0].UserApproved)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.SysUsers[0].UserApproved)
@Html.ValidationMessageFor(model => model.SysUsers[0].UserApproved)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.SysUsers[0].UserOffice)
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.SysUsers[0].UserOffice, new
SelectList(Model.GetawayOffice, "OfficeCode", "OfficeDesc",
Model.SysUsers[0].UserOffice))
@Html.ValidationMessageFor(model => model.SysUsers[0].UserOffice)
</div>
<p>
<input type="submit" value="Save" />
</p>
</fieldset>
}
和控制器是这样的:
public ActionResult Edit(string id)
{
model.SysUsers = repo.SelectSystemUser(id).ToList();
model.Office = reps.Office().ToList();
return View(model);
}
[HttpPost]
public ActionResult Edit(string id, FormCollection collection)
{
//update in System_User Table
Guid UserId = new Guid(id.ToString());
var SysUser = db.System_User.Single(s => s.User_UserId == UserId);
SysUser.User_Office = collection["SysUsers[0].UserOffice"];
//update aspnet_membership, like comment, email, isLocked, isApproved
...
}
我可以在Sytem_User表更新Office,但我怎么可以更新aspnet_membership(其updting评论,电子邮件, isLocked,isApproved)?
我认为我必须使用
membership.UpdateUser(MembershipUser User)
,但有人可以给我一个例子,如何使用membership.UpdateUser?
现在我可以更新用户的评论和用户的电子邮件,我用这个:
var usermembership = Membership.GetUser(UserId);
usermembership.Comment = collection["SysUsers[0].UserComment"];
Membership.UpdateUser(usermembership);
usermembership.Email = collection["SysUsers[0].UserEmail"];
Membership.UpdateUser(usermembership);
但是,我不能更新用户锁定和用户认可。如何更新thoose?
谢谢
谢谢CD ..现在我可以更新用户评论和用户电子邮件,我喜欢这样使用 –