CreateUserWizard изменить сообщение об ошибке во время выполнения - PullRequest
0 голосов
/ 08 января 2010

В первый раз, используя элемент управления ASP.NET CreateUserWizard, мы используем псевдоним Textbox в качестве адреса электронной почты, поскольку клиенты хотят, чтобы имя пользователя было адресом электронной почты. Затем скрывается, что контролирует EmailAddress. Эта часть работает нормально. Проблема, с которой я столкнулся, - это сообщение об ошибке, отображаемое в пользовательском интерфейсе: «Пожалуйста, введите другое имя пользователя». если вы введете существующий адрес электронной почты. Нам нужно изменить это на «Пожалуйста, введите другой адрес электронной почты». Я добавил обработчик событий для OnCreateUserError. Добавленный код ниже, и отладка событий получает удар и устанавливает Literal.Text сообщения об ошибке для отображения. Все еще перезаписывается на более позднем событии. Кто-нибудь знает, что мне не хватает, чтобы получить это сообщение об ошибке в пользовательский интерфейс.

protected void userWizard_CreateUserError(object sender, CreateUserErrorEventArgs e)
{
    // check for dupe username error
    if (e.CreateUserError == MembershipCreateStatus.DuplicateUserName)
    {
        // If so change to dupe email error and set the literal
        e.CreateUserError = MembershipCreateStatus.DuplicateEmail;
        Literal errorMessage = (Literal)userWizard.WizardSteps[0].Controls[0].Controls[0].Controls[0].Controls[0].FindControl("ErrorMessage");
        errorMessage.Text = "Email address already exists. Please enter a different email address.";
    }
}

1 Ответ

2 голосов
/ 08 января 2010

Попробуйте вместо этого установить свойство DuplicateUserNameErrorMessage * в мастере CreateUserWizard .

...