从asp.net的上一页读取控件

本文关键字:一页 读取 控件 asp net | 更新日期: 2023-09-27 18:15:42

我有Page1.aspx包含

Name: <asp:TextBox ID="txt1" runat="server" />

Page2.aspx尝试通过

访问其内容
   TextBox txt2 = (TextBox)PreviousPage.FindControl("txt1");

然而,我最终得到一个对象引用没有设置为对象异常的实例

从asp.net的上一页读取控件

我以前使用过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;

一旦您进入新页面,最后一页可能已经消失,我建议在会话中传输您的数据