RS系统中,缴费系统那一部分需要用到前一页面中查询出来的数据,所以就需要在两个页面之间进行传值操作。
由于在页面中需要传递多个值,同时也是为了尝试一下不同的传值方式,就试了下面几种传值方式。
1.使用Server.Transfer方法
Server.Transfer是从当前的ASPX页面转到新的ASPX页面,服务器端执行新页并输出,在新页面中通Context.Handler来获得前一个页面传递的各种数据类型的值、表单数据、QueryString.由于重定向完全在服务器端完成,所以客户端浏览器中的URL地址是不会改变的。调用Server.Transfer时,当前的ASPX页面终止执行,执行流程转入另一个ASPX页面,但新的ASPX页面仍使用前一ASPX页面创建的应答流。
优点:
(1).直接在服务器端重定向,使用简单方便,减少了客户端对服务器端提出请求。
(2).可以传递各种数据类型的值和控件的值。
缺点:
(1).客户端浏览器中的URL地址是不改变,会导致在新的页面可能出现一些意想不到的问题。比如如果源页面和目的页面不在同一个虚拟目录或其子目录下,那么使用相对路径的图片、超链接都会导致错误的指向。
实例:假设需要传递ID号,a.aspx——>b.aspx
a.aspx页面
首先在页面上添加一个textbox控件名为,命名为txtKeyword
public void Page_Load(object sender, EventArgs e)
{
var strID = this.txtKeyword.Text.Trim(); //定义变量strID用来存放需要传递的值
}
#region 为TextBox页面类设定一个公开的属性,返回的就是这个页面的txtKeyword
public TextBox txt
{
get
{
return txtKeyword;
}
}
#endregion
b.aspx页面
public void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack) //判断页面是否是第一次加载
{
CheckAndCharge p = (CheckAndCharge)Context.Handler; //将a.aspx页面上的txtKeyword控件值:ID号传递过来
this.txtID.Text = p.txt.Text;
}
2.使用Cookie对象变量
这个也是大家常使用的方法,与Session一样,Cookie对象也是对每一个用户而言的,但是有个本质的区别,即Cookie是存放在客户端的,而session是存放在服务器端的。
优点:
(1).使用简单,是保持用户状态的一种非常常用的方法。
缺点:
(1).常常被人认为用来收集用户隐私而遭到批评。
用途:
在购物网站中用户跨多个页面表单时可以用它来保持用户状态。
实例:
a.aspx页面
var strID= this.txtKeyword.Text.Trim();
HttpCookie objCookie = new HttpCookie("strID", strID);
Response.Cookies.Add(objCookie);
b.aspx页面
this.txtID.Text = Request.Cookies["strID"].Value;
3.使用Session变量
使用Session变量是可以在页面间传递值的的另一种方式,在本例中我们把控件中的值存在Session变量中,然后在另一个页面中使用它,以不同页面间实现值传递的目的。但是,需要注意的是在Session变量存储过多的数据会消耗比较多的服务器资源,在使用session时应该慎重,当然了,我们也应该使用一些清理动作来去除一些不需要的session来降低资源的无谓消耗。
使用Session变量传递值的一般步骤如下:
1,在页面里添加必要的控件
2,创建可以返回表单的按钮和链接按钮
3,在按钮或链接按钮的单击事件里,把控件的值添加到session变量里
4,使用Response.Redirect(或Server.Transfer)方法重定向到另一个页面
5,在另一个页面提取session的值,在确定不需要使用该session时,要显式清除它
实例:
a.aspx页面
Session["strID"] = this.txtKeyword.Text.Trim();
b.aspx页面
this.txtID.Text=Session["strID"].ToString();
在项目中我只使用了这三种方式,当然还有其他方式,大家可以参考一下这篇博客:ASP.NET页面间传值的几种方式
分享到:
相关推荐
以下是对几种常用的ASP.NET页面之间传值方法的详细总结: #### 1. 使用 QueryString 传递参数 **定义与特点**: - QueryString 是一种在URL后面通过问号附加参数的传统方法。 - 它的优点在于实现简单,适用于传递...
本文将对几种常见的ASP.NET页面间传值方式进行深入解析,包括GET、POST、页面对象属性及Cookie,旨在帮助开发者更好地理解和运用这些技术。 #### 一、GET方式(使用QueryString显式传递) **方式描述**:GET方式...
以下将详细阐述标题和描述中提到的几种ASP.NET页面传值方式: 1. **表单提交**: 表单提交是最基础的传值方式,通过HTML `<form>` 标签实现。通常,表单提交默认会向自身页面提交,但如果需要提交到其他页面,需要...
ASP.NET跨页面传值是Web应用程序中常见的需求,通常用于在不同页面之间传递数据。以下将详细介绍几种常用的ASP.NET跨页面传值技巧。 1. **使用QueryString变量**: QueryString是通过URL参数来传递数据的方式。在a...
在这个"asp.net的几种传值方式练习"中,我们将探讨四种主要的数据传递方法:Session、Cookie、Application和Server.Transfer。 1. Session(会话): Session是ASP.NET中用于存储用户特定数据的重要机制。当用户...
### ASP.NET 页面间的传值的几种方法(详细总结) 在ASP.NET开发中,页面间传值是一项非常重要的技能。为了确保应用程序的连贯性和用户体验,掌握多种传递数据的方法至关重要。本文将详细介绍几种常用的ASP.NET页面...
ASP.NET是一种强大的Web应用程序开发框架,它提供了多种页面间传值的方法。以下是对这些方法的详细解释: 1. 使用 `QueryString` 变量 QueryString 是通过URL参数传递值的方式,简单易用,适用于传递单个或少量不...
### ASP.NET 页面之间传值方法详解 在ASP.NET开发中,页面之间的...以上就是ASP.NET中常用的几种页面间传值方法及其应用场景的介绍。每种方法都有其特点和局限性,在实际开发过程中应根据具体需求选择最合适的方式。
***作为.NET框架下的一个关键Web应用开发平台,提供了多种页面间传值的方式,这对于构建动态Web应用至关重要。以下将详细探讨这些传值方式的原理和实现方法: 1. Request.QueryString方式 这是一种通过URL的查询...
### 页面之间传值的几种方式 在ASP.NET Web Forms中,页面之间的数据传递是一项非常重要的技术,它使得用户能够在不同的页面或控件间共享数据变得简单。本文将详细介绍几种常用的页面间传值方法:QueryString、...
本文详细介绍了ASP.NET中的页面传值技术,包括页面重定向技术、几种常见的传值方法及其应用场景的比较。通过本文的学习,开发者可以根据实际需求选择最适合的传值方法,以提高Web应用程序的性能和用户体验。
本文将详细介绍在ASP.NET页面中常用的几种页面传值方法,包括QueryString、Application对象、Session变量、Cookie对象以及Server.Transfer方法。 ### 1. 使用QueryString变量 **定义:** QueryString是一种通过URL...
在ASP.NET开发中,选择合适的页面传值方式对于构建高效且安全的应用程序至关重要。`QueryString`适用于简单且不涉及敏感信息的情况;`Session`则更适合需要长期保存数据或者跨多个页面共享数据的场景;而`Server....
在Asp.net开发中,有时候我们需要在页面之间传递大量参数,这可能涉及到用户信息、查询结果等复杂数据。本文将详细介绍如何实现这一功能,并对比两种常见的页面转移方法:`Response.Redirect(url)`和`Server....
总结起来,ASP.NET页面传值有以下几点关键点: 1. QueryString适用于传递少量、不敏感的数据,优点是简单直观,但安全性较低。 2. Session用于在多个页面间持久存储用户状态,数据安全但可能会增加服务器负担。 3. ...
ASP.NET 页面传参是指在不同的页面之间传递数据,以便在不同的页面中使用这些数据。ASP.NET 提供了多种方式来实现页面传参,以下是三种常见的方法: 一、使用 QueryString QueryString 是一种非常简单的传值方式,...
除了这两种方法,ASP.NET还提供了以下几种传值方式: 3. Session状态: Session对象可以存储用户会话期间的数据,即使用户在页面间导航,数据也会保持。在源页面设置Session: ```csharp Session["myKey"] = ...
在本实践项目“页面之间的传值练习”中,我们将探讨几种常见的页面传值方法,并通过实际代码示例来加深理解。 1. URL参数传递:最简单的方法是将值附加到URL的查询字符串中。例如,从页面A跳转到页面B时,可以在URL...
在这个压缩包中,我们聚焦于几个关键的ASP.NET技术点,包括页面关闭事件、页面缓存、页面间的传值、页面刷新和页面跳转。下面是对这些主题的详细探讨。 首先,我们来看页面关闭事件。在ASP.NET中,当用户离开一个...