2011-01-11 3 views
1

Я следил за указаниями MSDN по передаче данных между страницами asp.net.NullReferenceException в ASP.NET. Свойство PreviousPage

Но при использовании свойства 'PreviousPage' для доступа к элементам управления предыдущими страницами, я получаю исключение null ref, которое PreviousPage не задано для экземпляра объекта.

Вот мой код:

public partial class Portal : System.Web.UI.Page 
{ 
    public string Username 
    { 
     get 
     { 
      return txt_User.Text; 
     } 
    } 

И это кнопка отправки на начальной странице:

<asp:Button ID="btn_Submit" runat="server" onclick="btn_Submit_Click" 
    PostBackUrl="~/Query.aspx" 

Предыдущий объект недвижимости страницу на второй странице:

protected void Page_Load(object sender, EventArgs e) 
    { 
     Username = PreviousPage.Username; 
    } 

Согласно MSDN инструкции Я также добавил это в верхней части страницы разметки второй страницы:

<%@ PreviousPageType VirtualPath="~/Portal.aspx" %> 

Также обратите внимание, что я попробовал Server.Transfer вместо этого переключать страницы и выдает ту же ошибку.

EDIT, здесь используется Server.Transfer на начальной странице события щелчка:

protected void btn_Submit_Click(object sender, EventArgs e) 
    { 
     Server.Transfer("Query.aspx"); 
    } 

EDIT, кнопка кода без обработчика событий:

<asp:Button ID="btn_Submit" runat="server" 
    PostBackUrl="~/Query.aspx" 
    style="height: 26px" Text="Submit" /> 
+0

Где вы пробовали Server.Transfer - можете ли вы показать код, который вы использовали тогда? – David

ответ

0

Это прекрасно работает для меня. Если PreviousPage имеет значение NULL, это указывает на то, что текущая страница не была отображена в результате пересылки на странице.

Можете ли вы подтвердить, что ошибка возникает на второй странице?

Кроме того, что такое onclick="btn_Submit_Click" в определении вашей кнопки? Не должно быть никакого кода, реагирующего на событие click на исходной странице. Помните, что он будет обрабатываться целевой страницей.

EDIT: Теперь, когда вы обновили свой вопрос, мой последний вопрос, похоже, является проблемой. Вы осуществляете передачу сервера с исходной страницы. Это NOT перекрестная обратная связь, и поэтому PreviousPage имеет значение NULL.

Удалите атрибут onclick с вашей кнопки и удалите btn_Submit_Click.

+0

Я удалил обработчик событий, все еще ту же ошибку. Ошибка возникает во втором файле кода, в котором используется доступ к адресу PreviousPage.Username. – sean

+0

Вы установили код своей кнопки? Как это выглядит сейчас? –

+0

Да см. Выше. Удалено обработчик события и btn_Submit_Click, просто используя PostBackUrl. – sean

Смежные вопросы