使用按钮和PostBackURL属性尝试跨页回发时,PreviousPage为null

时间:2014-01-20 21:54:04

标签: c# asp.net webforms cross-page-posting

我在MSDN上遵循了教程:Getting Public Property Values from the Source Page,我开始了一个全新的Web窗体站点并创建了以下两页。他们工作得很好。现在,如果我将这些复制粘贴到我的其他Web窗体项目中,那么PreviousPage == null。我不知道问题是什么。没有任何错误。我得到了

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

UPDATE:我在页面声明中删除了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 个答案:

答案 0 :(得分:1)

问题是FriendlyUrls nuget包在我的页面名称之后删除了.aspx所以我的目标页面不是WebForm2.aspx而只是WebForm2。这使得上一页为空。