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, заранее спасибо

0
Wahtever 22 Апр 2011 в 14:02
Ваш вопрос плохо структурирован. Что именно не работает на реальном хостинге?
 – 
Genady Sergeev
22 Апр 2011 в 15:08
Вы уверены, что пользователь, в который вы входите, существует в обеих средах?
 – 
Jonathan Bates
22 Апр 2011 в 16:08
2
Если вы нашли решение, и это не один из существующих ответов, опубликуйте его самостоятельно, а затем примите его, а не добавляйте [solved] в заголовок.
 – 
ChrisF
22 Апр 2011 в 17:11
- соглашение на этом сайте, когда вы решили свою проблему, состоит в том, чтобы принять ответ, который решил проблему, или выбрать лучший из тех, которые помогли. Вопрос с принятым ответом отображается четко обозначенным цветом.
 – 
Andrew Barber
22 Апр 2011 в 17:11
- вы опередили меня на четыре секунды!
 – 
Andrew Barber
22 Апр 2011 в 17:11

2 ответа

Лучший ответ

Поскольку вы не опубликовали свою ошибку, я могу только догадываться, что ваш Membership.GetUserNameByEmail не работает. Либо ваше соединение с базой данных не работает, либо пользователь не существует в базе данных, к которой вы подключаетесь.

0
Blazes 22 Апр 2011 в 14:22
Не удалось войти в систему Ваша попытка входа в систему не удалась. Пожалуйста, попробуйте еще раз .
 – 
Wahtever
22 Апр 2011 в 14:34
Помогает ли это: forum.asp.net/t/959371.aspx/…
 – 
Blazes
22 Апр 2011 в 14:38
Я уже использую это: ` `.
 – 
Wahtever
22 Апр 2011 в 15:29
Я предполагаю, что «conn» - это что-то вроде: Data Source=SERVERNAME;Initial Catalog=DBNAME;Uid=USERNAME;Pwd=PASSWORD. Вам нужно добавить логирование. Вы успешно подключаетесь к БД? ELogin вообще называется? Ваш пользователь существует в БД?
 – 
Blazes
22 Апр 2011 в 15:37
База данных проверена и работает, я могу войти в систему с именем пользователя, но не могу с электронной почтой на хосте
 – 
Wahtever
22 Апр 2011 в 15:51

Пользователь входит в систему на основе результата функции ValidateUser в поставщике членства, который, если вы не используете настраиваемого провайдера членства, вероятно, проверяет соответствие с полем имени пользователя. Возможно, что в вашей тестовой среде адрес электронной почты, который вы используете, на самом деле является именем пользователя для какой-либо учетной записи, и поэтому он работает в одном месте, а не в другом.

0
Chris Mullins 22 Апр 2011 в 16:02
Это моя собственная учетная запись, которую я использую, и я ввел другое имя пользователя, чем адрес электронной почты (не учетная запись администратора. только один, который я создал).
 – 
Wahtever
22 Апр 2011 в 16:40