PreviousPage имеет значение null при попытке постбэка между страницами с помощью кнопки и атрибута PostBackURL

Я следовал учебному руководству: Получение значений общедоступных свойств со страницы источника на MSDN, и я запустил новый сайт веб-форм и создал следующие две страницы. Они работают просто отлично. Теперь, если я скопирую и вставлю их в мой другой проект веб-форм, тогда PreviousPage == null. Я понятия не имею, в чем проблема может быть. Там нет никаких ошибок вообще. Я просто получаю

messageSTr.Text = "Not a cross-page post.";

ОБНОВЛЕНИЕ: я удалил ссылку MasterPage в объявлении страницы, и я все еще получаю ошибку. Я скопировал этот проект web.config на другой рабочий, и он все еще работает. Это не мой веб-конфиг, я в полной растерянности. Это жизненно важный инструмент, который мне нужен для моего приложения.

Эта страница отправляется на страницу 1

<%@ Page 
Title="" 
Language="C#" 
MasterPageFile="~/Site.Master" 
AutoEventWireup="true" 
CodeBehind="WebForm2.aspx.cs" 
Inherits="WebApplication5.WebForm2" %>


<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">
<asp:Button id="button1" Text="Submit to PostBackUrl" PostBackUrl="~/WebForm1.aspx" runat="server"/>

Эта страница получает отправку

<%@ Page 
Title="" 
Language="C#" 
MasterPageFile="~/Site.Master" 
AutoEventWireup="true" 
CodeBehind="WebForm1.aspx.cs" 
Inherits="WebApplication5.WebForm1" %>
<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">
<asp:Label ID="messageSTr" runat="server"></asp:Label>

WebForm1.aspx.cs

protected void Page_Load(object sender, EventArgs e)
    {


        if (PreviousPage != null)
        {
            if (PreviousPage.IsCrossPagePostBack == true)
            {
                messageSTr.Text = PreviousPage.imaliveStr;
            }
        }
        else
        {
            messageSTr.Text = "Not a cross-page post.";
        }
    }

1 ответ

Решение

Проблема заключалась в том, что пакет nuget FriendlyUrls удалял.aspx после имен моих страниц, поэтому моей целевой страницей был не WebForm2.aspx, а просто WebForm2. Это сделало предыдущую страницу нулевой.

Другие вопросы по тегам