Я довольно плохо знаком с 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 до сих пор.
MVC
См. Хороший пример ...
ASP.NET MVC Html.ValidationSummary (true) не отображает ошибки модели
Как правило, вам необходимо распространить сообщение об ошибке , а также тот факт, что является ошибкой для вашего представления с вашего контроллера. ModelStateDictionary.AddModelError () выполнит обе эти задачи за вас.
Затем вы можете использовать ValidationExtensions.ValidationSummary () для отображения.
Веб-формы
У вас нет , чтобы использовать валидатор для этого. Большинство людей этого не делает. Простой стиль DIV должен работать.
например.
<div id="errorMessageDiv" runat="server"></div>
Обратите внимание на параметр runat
.
Теперь в коде программной части вы можете попробовать
errorMessageDiv.innerHTML = "some error message";
Если вы действительно хотите использовать проверку с помощью валидатора ...
Обычно вы устанавливаете параметры ErrorMessage и isValid для соответствующего валидатора в исходном коде. Связанный ValidationSummary должен отображать сообщение об ошибке.
Вы можете использовать сводку проверки или элемент управления ярлыком для отображения сообщения об ошибке
Просто добавьте элемент управления asp label на страницу, а затем установите его свойство text с возвращаемым значением.
При использовании WebForms вы можете использовать элемент управления Label и установить для него свойство '.Text' с вашим результатом. Или панель управления. Или UserControl специально для вывода сообщений об ошибках (это то, что я делаю), которые вы можете добавить на свой MasterPage.