Вместо того, чтобы заставлять пользователей запоминать имя пользователя, я бы предпочел, чтобы они ввели свой адрес электронной почты, сбросили пароль и отправили ему.
Я использую ASP .Net PasswordRecovery под провайдером членства.
Прямо сейчас система работает нормально, сбрасывает пароль и отправляет пользователю. Однако я нахожу, что многие пользователи забывают свое имя пользователя. Очевидно, я включаю имя пользователя в электронное письмо им.
В идеале я бы полностью отказался от имен пользователей, но, к сожалению, у меня уже есть пользователи с именами пользователей, которые не являются адресами электронной почты.
Итак, как я могу легко изменить свой элемент управления PasswordRecovery, чтобы запрашивать адрес электронной почты пользователя и отправлять пароль сброса и имя пользователя на этот адрес?
Я пытался добавить
UserNameLabelText="Email:" OnVerifyingUser="PasswordRecovery1_VerifyingUser"
для asp: PasswordRecovery и
protected void PasswordRecovery1_VerifyingUser(
object sender
, MailMessageEventArgs e)
{ PasswordRecovery1.UserName =
System.Web.Security.Membership.GetUserNameByEmai(PasswordRecovery1.UserName); }
в связанном файле .cs, но элемент управления не компилируется с ошибкой
CS0123: нет перегрузки для совпадений PasswordRecovery1_VerifyingUser
делегат 'System.Web.UI.WebControls.LoginCancelEventHandler'
чего я не понимаю