ASP.NET页面间的传值的几种方法

asp.net|页面|asp.net

ASP.NET WEB FORMS 给开发者提供了极好的事件驱动开发模式。然而这种简单的应用程序开发模式却给我们带来了一些小问题,举个例子,在传统的ASP应用程序中,你能够通过POST方法很容易的把一个值或多个值从一个页面传送到另一个页面,用同样的方法在ASP.NET中实现有点麻烦。在这里,我们可以通过其他方式来解决这种情形。ASP.NET为我们提供了三种方式,一种是可以通过用QueryString来传送相应的值,再一种是通过session变量来传送相应的值,还有就是通过Server.Transfer方法来实现。下面分别一一介绍:

一、使用Querystring
Querystring是一种非常简单的传值方式,其缺点就是会把要传送的值显示在浏览器的地址栏中,并且在此方法中不能够传递对象。如果你想传递一个安全性不是那么太重要或者是一个简单的数值时,用此方法最好不过了。下面通过一个小例子来完成传值工作,步骤如下:
1、创建一个web form
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2
3、为button按钮创建click事件
代码如下:
private void Button1_Click
(object sender, System.EventArgs e)
{
string url;
url="webform2.aspx?name=" +
TextBox1.Text + "&email=" +
TextBox2.Text;
Response.Redirect(url);
}
4、新建一个目标页面命名为webform2
5、在webform2中放置两个Label1,Label2
在webform2的Page_Load中添加如下代码:
private void Page_Load
(object sender, System.EventArgs e)
{
Label1.Text=Request.QueryString["name"];
Label2.Text=Request.QueryString["email"];
}
运行,即可看到传递后的结果了。

二、使用Session变量

使用Session变量传值是一种最常见的方式了,此中方式不仅可以把值传递到下一个页面,还可以交叉传递到多个页面,直至把Session变量的值removed后,变量才会消失。举个例子看看:
1、创建一个web form
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2
3、为button按钮创建click事件
代码如下:
private void Button1_Click
(object sender, System.EventArgs e)
{
Session["name"]=TextBox1.Text;
Session["email"]=TextBox2.Text;
Response.Redirect("webform2.aspx");
}
4、新建一个目标页面命名为webform2
5、在webform2中放置两个Label1,Label2
在webform2的Page_Load中添加如下代码:
private void Page_Load
(object sender, System.EventArgs e)
{
Label1.Text=Session["name"].ToString();
Label2.Text=Session["email"].ToString();
Session.Remove("name");
Session.Remove("email");
}
运行,即可看到传递后的结果了。

三、使用Server.Transfer
虽然这种方法有点复杂,但也不失为一种在页面传值的方式。
举个例子看看:
1、创建一个web form
2、在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2
3、为button按钮创建click事件
代码如下:
private void Button1_Click
(object sender, System.EventArgs e)
{
Server.Transfer("webform2.aspx");
}
4、创建过程来返回TextBox1,TextBox2控件的值代码如下:
public string Name
{
get
{
return TextBox1.Text;
}
}

public string EMail
{
get
{
return TextBox2.Text;
}
}
5、新建一个目标页面命名为webform2
6、在webform2中放置两个Label1,Label2
在webform2的Page_Load中添加如下代码:
private void Page_Load
(object sender, System.EventArgs e)
{
//创建原始窗体的实例
WebForm1 wf1;
//获得实例化的句柄
wf1=(WebForm1)Context.Handler;
Label1.Text=wf1.Name;
Label2.Text=wf1.EMail;

}
运行,即可看到传递后的结果了。

时间: 2024-11-08 22:13:38

ASP.NET页面间的传值的几种方法的相关文章

ASP.NET页面间数据传递的9种方法

本文我们将讨论的是ASP.NET页面间数据传递的几种方法,对此希望能帮助大家正确的理解ASP.NET页面间数据传递的用处以及便利性. 0.引言 Web页面是无状态的, 服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留.在用ASP.NET 设计开发一个Web系统时, 遇到一个重要的问题是如何保证数据在页面间进行正确.安全和高效地传送,Asp.net 提供了状态管理等多种技术来解决保存和传递数据问题,以下来探讨.NET 下的解决此问题的各种

ASP.NET页面间数据传递的几种方法介绍_实用技巧

Web页面是无状态的,服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留.在用ASP.NET 设计开发一个Web系统时, 遇到一个重要的问题是如何保证数据在页面间进行正确.安全和高效地传送,Asp.net 提供了状态管理等多种技术来解决保存和传递数据问题,以下来探讨.NET 下的解决此问题的各种方法和各自的适用场合. 一.ASP.NET页面间数据传递的各种方法和分析 1.使用Querystring 方法 QueryString 也叫查询字

ASP.NET页面之间传递参数的几种方法

  Asp.net页面之间传递参数的几种方法 第一种方法:通过URL链接地址传递 send.aspx: protected void Button1_Click(object sender, EventArgs e) { Request.Redirect("Default2.aspx?username=honge"); } receive.aspx: string username = Request.QueryString["username"]; 这样可以得到参

ASP中页面限权访问的两种方法

访问|页面 在设计网页时,经常遇到某些页面需限权访问的情况.比如,一个公司的某些产品只让某一或某些供应商或客户浏览.那么,我们如何实现这一功能呢?本文,笔者将向读者介绍几种限制客户访问权限的方法.   通常,我们在设计过程中会面临三种情况:某一页面只让某一用户浏览.某一页面只让某些用户浏览和某些页面只让某些用户浏览.第一种情况很简单,笔者不再叙述,下文将详细介绍后两种情况的设计方法.    一.某一页面只让某些用户浏览 将这些客户的信息保存在数据库中,若能在数据库中检索到客户输入的姓名和密码就允

asp.net 页面之间传递参数的几种方法_实用技巧

第一种方法: 通过URL链接地址传递 send.aspx: 复制代码 代码如下: protected void Button1_Click(object sender, EventArgs e) { Request.Redirect("Default2.aspx?username=honge"); } receive.aspx: 复制代码 代码如下: string username = Request.QueryString["username"];这样可以得到参数

一起谈.NET技术,在ASP.NET网页间传递数据的五种方法

重点总结 目前为止在ASP.NET网页中传递数据的方式至少有5种: 1.通过查询字符串传递数据. 2.通过HTTP POST传递数据. 3.通过会话状态传递数据. 4.通过源页的公共属性传递数据. 5.通过源页中的控件值传递数据. 到底使用哪种方式来进行数据的传递,这可能受到两方面的影响: 1.页面重定向的方式. 2.源页和目标页是否位于相同的ASP.NET应用程序中. 如果源页和目标页位于不同的ASP.NET应用程序中则只能通过查询字符串和HTTP POST传递数据. 而如果源页和目标页位于相

在ASP.NET网页间传递数据的五种方法

重点总结 目前为止在ASP.NET网页中传递数据的方式至少有5种: 1.通过查询字符串传递数据. 2.通过HTTP POST传递数据. 3.通过会话状态传递数据. 4.通过源页的公共属性传递数据. 5.通过源页中的控件值传递数据. 到底使用哪种方式来进行数据的传递,这可能受到两方面的影响: 1.页面重定向的方式. 2.源页和目标页是否位于相同的ASP.NET应用程序中. 如果源页和目标页位于不同的ASP.NET应用程序中则只能通过查询字符串和HTTP POST传递数据. 而如果源页和目标页位于相

ASP中页面限权访问的几种方法

访问|页面 在设计网页时,经常遇到某些页面需限权访问的情况.比如,一个公司的某些产品只让某一或某些供应商或客户浏览.那么,我们如何实现这一功能呢?本文,笔者将向读者介绍几种限制客户访问权限的方法. 通常,我们在设计过程中会面临三种情况:某一页面只让某一用户浏览.某一页面只让某些用户浏览和某些页面只让某些用户浏览.第一种情况很简单,笔者不再叙述,下文将详细介绍后两种情况的设计方法. 一.某一页面只让某些用户浏

页面之间传递参数的几种方法

Asp.net页面之间传递参数的几种方法 第一种方法:通过URL链接地址传递     send.aspx:      protected void Button1_Click(object sender, EventArgs e)     {              Request.Redirect("Default2.aspx?username=honge");    }    receive.aspx:    string username = Request.QueryStri