65.9K
CodeProject 正在变化。 阅读更多。
Home

从一个页面获取值到另一个页面

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.25/5 (9投票s)

2007年11月21日

1分钟阅读

viewsIcon

40030

从一个页面获取值到另一个页面。

引言

有时我们希望将第一个页面的某个控件的值传递到另一个页面。以下文章介绍如何在不使用 Session 或 Querystring 的情况下实现这一点。

如果我们正在使用一些我们不想在地址栏(URL)中显示的数据,那么使用 Querystring 时会遇到问题。有时我们会加密 URL,并在另一个(下一个)页面对其进行解密,以防止任何人理解传递的 Querystring 值的确切含义,但这里有一种更好的方法来解决这些问题。

而使用 Session 也会带来一些其他问题,因为 Session 始终存储在服务器端。因此,服务器内存会被占用。

现在这里有一个好的方法来克服上述两个问题。

使用代码

在您的应用程序中添加 2 个网页。

第一个页面 ID = Page1.aspx

第二个页面 ID = Page2.aspx

现在在 Page1.aspx 中添加以下控件,并定义属性。

TextBox:ID = txtFirstPage

Button:ID = btnSend

在按钮 btnSend 的 Click 事件中编写以下代码

//

// Any source code blocks look like this

//

protected void btnSend_Click(object sender, EventArgs e)
{
// Transfer first page to Second Page

// Always use Server.Transfer. Then and then you will get desire OuptPut

Server.Transfer("Page2.aspx");
}

现在在 Page2.aspx 中在 Page Load 事件中编写以下代码。

protected void Page_Load(object sender, EventArgs e)
{

if(Page.PreviousPage != null)
{
 TextBox txt =(TextBox) Page.PreviousPage.FindControl("txtFirstPage");
 if(txt != null)
 {
  Response.Write("<font color='Blue' size='15'> <b>" + txt.Text + "</b></font>");
 } 
}
}

现在将 Page1.aspx 设置为启动页面,运行您的应用程序。

在 TextBox 中输入任何文本,然后提交按钮。

它会将 Page1.aspx 转移到 Page2.aspx,并且您将在页面上看到您输入的 TextBox 文本,颜色为蓝色!!

您可以访问 Page1.aspx 的任何控件到 Page2.aspx。

享受编码的乐趣。

关注点

始终使用 Server.Transfer,如果您尝试使用 Response.Redirect,那么 Page.PreviousPage 将始终为 null。

继续编码,并获得最佳代码来实现您的目标。

尝试、尝试再尝试。总有许多方法可以做到。

从一个页面获取值到另一个页面 - CodeProject - 代码之家
© . All rights reserved.