Asp.net mvc 3 ASP.NETMVC3如何更新用户帐户?

Asp.net mvc 3 ASP.NETMVC3如何更新用户帐户?,asp.net-mvc-3,asp.net-membership,user-accounts,Asp.net Mvc 3,Asp.net Membership,User Accounts,我想更新项目中的用户帐户。我有这样的看法: @using (Html.BeginForm("edit/" + @Model.SysUsers[0].UserID, "cpanel/sysuser", FormMethod.Post)) { @Html.ValidationSummary(true) <fieldset> <legend>@Model.SysUsers[0].UserID</legend> <div class="ed

我想更新项目中的用户帐户。我有这样的看法:

@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>
}
我可以更新System_用户表中的Office,但如何更新aspnet_成员资格(用于更新评论、电子邮件、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

谢谢

使用指定用户的信息更新数据库

看看

可能受骗

嗯,我认为你的思路是对的。或许可以看看使用会员资格的应用程序示例

在这里,我使用WebForms更改密码:

        user = Membership.GetUser(txtUsername.Text);
        string generatedPassword = user.ResetPassword();
        user.ChangePassword(generatedPassword, txtPassword.Text);

祝你好运。

我认为一种方法是编写你的onw Membership用户实现

看看这个帖子


如果您不想实现每个方法,您可以创建一个子类并只编写需要不同行为的方法,然后在web.config

thank you CD中声明新的提供程序。。现在,我可以更新用户评论和用户电子邮件,我这样使用
MembershipUser u = Membership.GetUser(User.Identity.Name);
u.Email = someValue;
Membership.UpdateUser(u);
        user = Membership.GetUser(txtUsername.Text);
        string generatedPassword = user.ResetPassword();
        user.ChangePassword(generatedPassword, txtPassword.Text);