在MVC 3中查看“ ChangePassword”

Raz*_*zor 1 passwords c#-4.0 asp.net-mvc-3

您可以帮助我在MVC3中构建我的“ ChangePassword”视图吗?

这是我尝试做的事情:

ProfileTeacherController.cs

public ViewResult ChangePassword(int id)
    {
        var user = User.Identity.Name;
        int inter = int.Parse(user);

        var teachers = from t in db.Teachers
                       where t.AffiliationNumber == inter
                       select t;

        Teacher teacher = new Teacher();
        foreach (var teach in teachers)
        {
            teacher = teach;
        }

        return View(teacher);
    }

    [HttpPost]
    public ActionResult ChangePassword(Teacher teacher)
    {
        if (ModelState.IsValid)
        {
            // How can I compare the two fields password in my view ?
            db.Entry(teacher).State = EntityState.Modified;
            db.SaveChanges();
            return RedirectToAction("Edit", "ProfileTeacher", new { id = teacher.TennisClubID });
        }
        return View(teacher);
    }
Run Code Online (Sandbox Code Playgroud)

此处的ChangePassword(查看)

@model TennisOnline.Models.Teacher
@{
ViewBag.Title = "ChangePassword";
}

<h2>Changement du mot de passe</h2>

@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
    <legend></legend>

    <div class="editor-label">
        @Html.Label("Enter the new password")
    </div>
    <div class="editor-field">
        @Html.PasswordFor(model => model.Pin, new { value = Model.Pin })
    </div>

    <div class="editor-label">
        @Html.Label("Confirm your password")
    </div>
    <div class="editor-field">
        @Html.Password("ConfirmPassword")
    </div>


    <p>
        <input type="submit" value="Save" />
    </p>
</fieldset>
}
Run Code Online (Sandbox Code Playgroud)

因此,请问如何在控制器中验证两个密码是否相同?提前致谢

小智 5

另外,当“比较”属性中两个密码不同时,可以添加要显示的消息。

[Compare("NewPassword", ErrorMessage = "The new password and confirm password do not match.")] 
Run Code Online (Sandbox Code Playgroud)