3

我有以下用 mvc3 razor 编写的表格。我想在用户输入错误密码时显示一条消息。我已经放置了一个标签来显示消息,但不知道如何在 mvc 中完成显示/隐藏。请帮忙。

@using (Html.BeginForm("Authenticate", "Authorization", FormMethod.Post, new { autocomplete = "off" }))
{
    < div>
    < fieldset>
        <legend > User Information </legend>

        <div class="editor-label">
            @Html.Label("Password")

            @Html.TextBox("password")
            @Html.ValidationMessageFor(m => m.password)
            @Html.Label("Incorrect Password")
        </div>
        <p>
            @Html.Hidden("tab", ViewData["tab"])
            <input type="submit" value="Submit" />
        </p>

    </fieldset>
</div>
}
4

1 回答 1

9

在应该验证凭据的控制器操作中,您可以添加模型状态错误:

ModelState.AddModelError("password", "The username or password is incorrect");

使用 Visual Studio 中的内置向导创建一个新的 ASP.NET MVC 应用程序并导航到~/Controller/AccountController.cs. 然后查看LogOnPOST 操作。当凭据无效时,它会添加一般模型状态错误:

ModelState.AddModelError("", "The user name or password provided is incorrect.");

并且在视图中使用 ValidationSummary 助手显示此错误:

@Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.")
于 2012-06-11T17:17:59.477 回答