代码改变世界

Tips/Tricks#4:不同页面之间传递值

2008-09-25 16:46 李永京 阅读(...) 评论(...) 编辑 收藏

注:此系列记录在我实际开发中遇到的问题和收藏一些技巧文章。

本篇技巧和诀窍记录的是:不同页面之间传递值,非常简单的技巧,我相信大家都知道。

这个场景太常见了,当然有许多许多的方法,我来介绍一种非常简单的方法吧!

第一步:模拟两个页面

A页面、B页面。需要在B页面获取A页面的信息。

A页面:

<form id="form1" runat="server">
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
    <asp:Button ID="Button1" runat="server" 
                PostBackUrl="~/B.aspx" Text="Button" />
</form>

B页面:

<form id="form1" runat="server">
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    <a href="A.aspx">A.aspx</a>
</form>

第二步:如何获取呢

来个非常简单的,在B页面Page_Load事件中使用Page.PreviousPage 属性,获取向当前页传输控件的页。 找到相应的控件。

protected void  Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack) {
        TextBox t = ((TextBox)(PreviousPage.FindControl("Textbox1")));
        Calendar c = ((Calendar)(PreviousPage.FindControl("Calendar1")));
        Label1.Text = string.Format("文本框:{0},选择日期?:{1}", 
                                         t.Text, c.SelectedDate);
    }
}

OK!