我正在通过以下this MSDN article试验跨页面发布。我有这样的代码:为什么Page.PreviousPage始终为空?
CrossPagePosting1.aspx
<form id="form1" runat="server">
<h1>Page 1</h1>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
<asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="CrossPagePosting2.aspx"/>
</form>
CrossPagePosting2.aspx
<form id="form1" runat="server">
<h1>Page 2</h1>
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</form>
CrossPagePosting2.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
TextBox TextBox1 = (TextBox)Page.PreviousPage.FindControl("TextBox1");
Label1.Text = TextBox1.Text;
}
上面的代码产生NullReferenceException
在Page.PreviousPage
。为什么?
这是一个ASP.Net 4.0应用程序。
它使用了FriendlyUrls,这是默认值。
注意:我不希望前一页是强类型的,例如,使用PreviousPageType
指令。根据引用的文章,这不应该是必要的。
我读张贴我的问题之前那篇文章。据我所知,它不能解决我的问题。你看到我的代码有什么特定的问题吗? – brainbolt
你的代码很好。我认为你只能通过在你的page.Page中添加PreviousPageType指令来做到这一点。http://www.cosnetics.co.uk/articles/cross-page-posting-not-working/ – Chirag
Strongly-在这种情况下,输入上一页不是一个选项。 – brainbolt