我已经Page1.aspx
包含
Name: <asp:TextBox ID="txt1" runat="server" />
Page2.aspx
尝试通过以下方式访问其内容
TextBox txt2 = (TextBox)PreviousPage.FindControl("txt1");
但是我最终得到一个未设置为对象异常实例的对象引用
我以前使用PreviousPage
过,并且在网上其他地方找到的这段代码取得了成功(不记得我在哪里找到的!)
所以..
选项1:
在您的第一页上,您有可将您带到第二页的按钮,您需要将PostBackUrl
属性设置为新的页面 url:
<asp:Button ID="button1" Runat="server" Text="submit" PostBackUrl="~/Page2.aspx" />
(这是假设您的第一页是重定向到您的 Page2.aspx 的表单)
然后在后面的新页面代码中,您需要按照以下内容编写一些内容:
public void page_load()
{
if(!IsPostBack)
{
TextBox tb = (TextBox)PreviousPage.FindControl("txt2");
Response.Write(tb.Text);}
}
txt2.Text
如果您想在第二页上进行更多回发,则需要将前一页的值转移到新页面上的文本框或标签,否则您将失去该值。
选项 2:
您也可以肯定地使用 Session 变量来存储您的数据?!
Session["text"] = txt2.Text;
一旦您进入新页面,最后一页可能已经消失,我建议您通过会话传输数据。