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






1.25/5 (9投票s)
2007年11月21日
1分钟阅读

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。
继续编码,并获得最佳代码来实现您的目标。
尝试、尝试再尝试。总有许多方法可以做到。