从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");
然而,我最终得到一个对象引用没有设置为对象异常的实例
我以前使用过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;
一旦您进入新页面,最后一页可能已经消失,我建议在会话中传输您的数据