首页 新闻 会员 周边 捐助

asp.net页面A.aspx传数据到B.aspx显示?

0
悬赏园豆:10 [已解决问题] 解决于 2012-02-06 12:42

A.aspx页面里有textbox和GridView(GridVIew里面有TextBox选项),B.aspx页面有Label来显示A页面TextBox的数据,GridView显示TextBox(GridView)里面的数据,点击按钮Button后,怎么把A.aspx的所有数据传到B.aspx页面来显示?

lqps的主页 lqps | 初学一级 | 园豆:44
提问于:2012-02-05 18:54
< >
分享
最佳答案
0

可以通过PreviousPage和FindControl来达到你的要求。现以查找TextBox为例。

A页面代码:

    <form id="form1" runat="server">
<asp:TextBox ID="TB_1" runat="server"></asp:TextBox>
<asp:Button ID="Btn" runat="server" Text="Button" PostBackUrl="B.aspx"/>
</form>

B页面代码:

    <form id="form1" runat="server">
<asp:Label ID="Lb_1" runat="server" Text="Label"></asp:Label>
</form>

B页面的后台代码:

    protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//通过PreviousPage获取到A页面
Page p = this.Page.PreviousPage;

//通过FindControl查找TB_1控件
TextBox tb = p.FindControl("TB_1") as TextBox;

Lb_1.Text = tb.Text;

//通过FindControl查找GridView,再通过FindControl找到其中的TextBox
//代码略。。。
}
}

楼主试试看。

收获园豆:10
Localhost | 菜鸟二级 |园豆:443 | 2012-02-06 07:48

谢谢Localhost,用TextBox是可以的,GridView(含有TextBox)是怎么从A.aspx传到B.aspx的呢

lqps | 园豆:44 (初学一级) | 2012-02-06 08:56

@lqps:

现在不需要传递数据,我们是通过PreviousPage获取前一个页面。

通过在该页面上使用FindControl来获取获取该页面的控件,进而查找到控件的值。

通过FindControl("TB_1")可以查找到ID为TB_1的TextBox,那么通过FindControl("GridView1")就可以查找到GridView1控件,再查找通过GridView_1.FindControl("GridView1_TextBox1")控件即可。此时可能和GridView的Mode状态还有关系。

Localhost | 园豆:443 (菜鸟二级) | 2012-02-06 09:01

@Localhost: 谢谢了.....

lqps | 园豆:44 (初学一级) | 2012-02-06 12:41
其他回答(2)
0

最简单的就是使用session,再就是Server.transfer也行

小小刀 | 园豆:1991 (小虾三级) | 2012-02-05 21:03
0

一般参数不多的话都是直接url参数传递就行了,传的时候用url编码一下

复杂结构也可以session和cache保存

LT | 园豆:97 (初学一级) | 2012-02-05 21:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册