首次使用ASP.NET CreateUserWizard控件,我们将用户名文本框别名为电子邮件地址,因为客户端希望用户名是电子邮件地址。然后隐藏它控制EmailAddress。这部分工作正常。我遇到的问题是UI上显示的错误消息显示“请输入其他用户名”。如果您输入现有的电子邮件地址。我们需要将其更改为“请输入其他电子邮件地址”。我为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.";
}
}