Never Mind, теперь он работает (понятия не имею, почему, но это нормально), и спасибо всем за вашу помощь
Я написал код, который вводит пользователей по электронной почте вместо имени пользователя, вот он:
protected void eLogin(object sender, EventArgs e) //allowing users to login with email
{
string uid = Membership.GetUserNameByEmail(mainLogin.UserName);
mainLogin.UserName = null;
mainLogin.UserName = uid;
}
И вот контроль входа в систему:
<asp:Login ID="mainLogin" runat="server" Orientation="Horizontal"
RememberMeText="Remember me" TitleText=""
DestinationPageUrl="~/RedirectPage.aspx"
OnLoggingIn="eLogin"
>
<CheckBoxStyle CssClass="remBox" />
<LoginButtonStyle CssClass="loginButton" />
<TextBoxStyle CssClass="loginTextBox" />
</asp:Login>
Но он будет работать только на локальном хосте, а не на фактическом хостинге. вот что пошло не так: попытка входа в систему не удалась. Пожалуйста, попробуйте еще раз.
Я использую asp.net 3.5, заранее спасибо
2 ответа
Поскольку вы не опубликовали свою ошибку, я могу только догадываться, что ваш Membership.GetUserNameByEmail
не работает. Либо ваше соединение с базой данных не работает, либо пользователь не существует в базе данных, к которой вы подключаетесь.
Data Source=SERVERNAME;Initial Catalog=DBNAME;Uid=USERNAME;Pwd=PASSWORD
. Вам нужно добавить логирование. Вы успешно подключаетесь к БД? ELogin вообще называется? Ваш пользователь существует в БД?
Пользователь входит в систему на основе результата функции ValidateUser в поставщике членства, который, если вы не используете настраиваемого провайдера членства, вероятно, проверяет соответствие с полем имени пользователя. Возможно, что в вашей тестовой среде адрес электронной почты, который вы используете, на самом деле является именем пользователя для какой-либо учетной записи, и поэтому он работает в одном месте, а не в другом.
Похожие вопросы
Новые вопросы
asp.net
ASP.NET - это среда разработки веб-приложений Microsoft, которая позволяет программистам создавать динамические веб-сайты, веб-приложения и веб-службы. Полезно использовать этот тег в сочетании с тегом типа проекта, например, [asp.net-mvc], [asp.net-webforms] или [asp.net-web-api]. НЕ используйте этот тег для вопросов о ASP.NET Core - используйте вместо этого [asp.net-core].
[solved]
в заголовок.