首页 > 解决方案 > Pag.Previous 页面返回 null

问题描述

我已经尝试了很多次,并以不同的方式来查看为什么“Page.PreviousPage”返回 null 但我没有得到任何结果。我在 stackoverflow 和其他一些网站上查看了大多数帖子。他们都没有工作。有人有什么想法吗?以下是源页面中的 asp 代码,我将其命名为“sourcePage.aspx”。它显示了执行跨页面发布的按钮:

<asp:Button ID="btnCrossPagePostBack" runat="server" Text="Cross page post back navigation" PostBackUrl="~/targetPage.aspx" Width="270px"/>

以下是我将其命名为“targetPage.aspx”的目标页面中的代码:

protected void Page_Load(object sender, EventArgs e)
{
      Page previousPage = Page.PreviousPage;            
            if (previousPage != null && previousPage.IsCrossPagePostBack)
            {
                lblName.Text =   ((TextBox)previousPage.FindControl("txtName")).Text;
                lblEmail.Text = ((TextBox)previousPage.FindControl("txtEmail")).Text;
            }
            else
            {
                lblStat.Text = "You loaded this page using a technique other than Cross Page Post Back";
            }
}

“txtName”和“txtEmail”是源页面中的两个文本框。我知道如何通过使用“Server.Transfer”或强类型引用来做到这一点。我正在寻找通过 Corss 页面回发而不是任何其他方式。有人说我应该使用空页面,然后添加 Web 表单而不是模板 Web 表单,但是没有空页面,Visual Studio 只提供 Web 表单。有什么线索吗?谢谢!

标签: c#asp.netvisual-studio

解决方案


观点是正确的。当你想开始一个新项目时,你应该选择“Empty”而不是“Web Form”等。


推荐阅读