У меня проблема с получением данных из постов кросс-страницы в ASP.NET.
Базовая компоновка моих страниц выглядит следующим образом: .aspx с использованием главной страницы "Default.master".В "Default.master.cs" я проверяю, существует ли Session ["user_IsLoggedIn"] и имеет ли оно значение true.Если это так, я загружаю WebUserControl с именем «ShowLoginInformationControl.ascx».Если нет, я загружаю «ShowLoginFormControl.ascx».
Как вы можете догадаться, первый показывает некоторую информацию для входа, последний показывает форму быстрого входа и кнопку регистрации:
<asp:TextBox Id="QuickloginUserName" RunAt="server" />
<asp:TextBox Id="QuickloginPassword" TextMode="Password" RunAt="server" />
<asp:Button ID="LoginSubmit" CssClass="LoginSubmit" meta:resourcekey="Login_LoginSubmit" PostBackUrl="~/Login.aspx" runat="server" />
Цель целив "Login.aspx".На этой странице есть еще одна форма входа в систему, поэтому пользователь может использовать быстрый вход или перейти на страницу входа.
Проблема в том, что я не могу получить данные формы из формы быстрого входа.
Код на Login.aspx.cs выглядит следующим образом:
if( Page.IsPostBack )
{
// POST from this page
userName = UserName.Text;
password = Password.Text;
}
else if( PreviousPage != null && PreviousPage.IsCrossPagePostBack )
{
// POST from user control
TextBox userNamePreviousPageTextBox = (TextBox)PreviousPage.FindControl("QuickloginUserName");
TextBox passwordPreviousPageTextBox = (TextBox)PreviousPage.FindControl("QuickloginPassword");
userName = userNamePreviousPageTextBox.Text;
password = passwordPreviousPageTextBox.Text;
}
Получение данных с самой страницы работает хорошо, получение данных с предыдущей страницы ... нет.: (
При использовании quicklogin Я получаю NullReferenceError, потому что FindControl возвращает ноль.
Как получить данные из этих двух полей ввода?
PS Я не использую членство в ASP.NET, что может быть ошибкой, но на данный момент у меня нет времени, чтобы «научиться» его использовать. Если (даже с помощью) я не заставлю его работать плохонужно заменить quicklogin гиперссылкой на страницу входа.