Pag.Previous页面返回null

时间:2018-08-03 15:14:27

标签: c# asp.net visual-studio

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

<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表单。有什么线索吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

这是正确的。当您要开始一个新项目时,应该选择“空”而不是“ Web表单”或其他。