asp.net-mvc如何在 ASP.NET MVC 页面上显示验证错误消息?

发布时间: 2017/3/25 2:49:00
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我是很新的 ASP.NET 和 C# 我整天都在学习基本的 ASP.NET 成员资格提供程序建立了我所有的验证器,但都被陷在输出页面上我的错误消息。

private void LogCreateUserError(MembershipCreateStatus status, string username)
{
    string reasonText = status.ToString();

    switch (status)
    {
        case MembershipCreateStatus.DuplicateEmail:
        case MembershipCreateStatus.DuplicateProviderUserKey:
        case MembershipCreateStatus.DuplicateUserName:

            reasonText = "The user details you entered are already registered.";
            break;

        case MembershipCreateStatus.InvalidAnswer:
        case MembershipCreateStatus.InvalidEmail:
        case MembershipCreateStatus.InvalidProviderUserKey:
        case MembershipCreateStatus.InvalidQuestion:
        case MembershipCreateStatus.InvalidUserName:
        case MembershipCreateStatus.InvalidPassword:

            reasonText = string.Format("The {0} provided was invalid.", status.ToString().Substring(7));
            break;
        default:
            reasonText = "Due to an unknown problem, we were not able to register you at this time";
            break;

    }

   //CODE TO WRITE reasonText TO THE HTML PAGE ??

}

什么是最好的方式,将作为我依赖于内置的 ASP︰ 验证程序直到现在输出变量结果拖到页上。

解决方法 1:

MVC

很好的例子,请参阅...

ASP.NET MVC Html.ValidationSummary(true) 不显示模型误差

基本上,您需要传播错误消息,也是这一事实,那里错误到你的视图从您的控制器。 ModelStateDictionary.AddModelError()会照顾这两个任务给你。

然后可以使用ValidationExtensions.ValidationSummary()来显示。

Webforms

你不,为此使用验证器。 大多数人不。 一个简单的风格 DIV 应该管用。

如。

<div id="errorMessageDiv" runat="server"></div>

请注意runat参数。

现在在你的代码隐藏文件中你可以尝试

errorMessageDiv.innerHTML = "some error message";

如果你真的想要使用验证程序结帐......

http://weblogs.asp.net/ashicmahtab/archive/2008/12/12/putting-messages-into-a-validationsummary-control-from-code.aspx

基本上你设置错误信息isValid参数相关的验证程序后面的代码中。 相关的ValidationSummary应该显示的错误消息。

官方微信
官方QQ群
31647020