Как отобразить сообщения об ошибках проверки на странице MVC ASP.NET?

Я довольно плохо знаком с 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 ??

}

Что лучший способ состоит в том, чтобы произвести результат varible на страницу, поскольку я положился на созданный в ASP:Validators до сих пор.

6
задан John Saunders 14 May 2010 в 05:08
поделиться

4 ответа

MVC

См. Хороший пример ...

ASP.NET MVC Html.ValidationSummary (true) не отображает ошибки модели

Как правило, вам необходимо распространить сообщение об ошибке , а также тот факт, что является ошибкой для вашего представления с вашего контроллера. ModelStateDictionary.AddModelError () выполнит обе эти задачи за вас.

Затем вы можете использовать ValidationExtensions.ValidationSummary () для отображения.

Веб-формы

У вас нет , чтобы использовать валидатор для этого. Большинство людей этого не делает. Простой стиль DIV должен работать.

например.

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

Обратите внимание на параметр runat .

Теперь в коде программной части вы можете попробовать

errorMessageDiv.innerHTML = "some error message";

Если вы действительно хотите использовать проверку с помощью валидатора ...

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

Обычно вы устанавливаете параметры ErrorMessage и isValid для соответствующего валидатора в исходном коде. Связанный ValidationSummary должен отображать сообщение об ошибке.

9
ответ дан 10 December 2019 в 02:43
поделиться

Вы можете использовать сводку проверки или элемент управления ярлыком для отображения сообщения об ошибке

0
ответ дан 10 December 2019 в 02:43
поделиться

Просто добавьте элемент управления asp label на страницу, а затем установите его свойство text с возвращаемым значением.

0
ответ дан 10 December 2019 в 02:43
поделиться

При использовании WebForms вы можете использовать элемент управления Label и установить для него свойство '.Text' с вашим результатом. Или панель управления. Или UserControl специально для вывода сообщений об ошибках (это то, что я делаю), которые вы можете добавить на свой MasterPage.

0
ответ дан 10 December 2019 в 02:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: