我在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.";
}
}
答案 0 :(得分:1)
问题是FriendlyUrls nuget包在我的页面名称之后删除了.aspx所以我的目标页面不是WebForm2.aspx而只是WebForm2。这使得上一页为空。