ASP.NET状态管理之四(暂存状态HttpContext.Items)

本文介绍了ASP.NET中使用HttpContext.Items实现暂存状态的方法。通过示例代码展示了如何在页面跳转时临时保存数据,并在目标页面中读取这些数据。这种机制类似于JSP中的request.setAttribute()和RequestDispatcher.forward()。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ASP.NET状态管理之四(暂存状态HttpContext.Items

 ASP.NET提供一个类System.Web.HttpContext ,用来表示上下文,此对象有一个属性Items

 

暂存状态就是利用HttpContext.Items属性来存放数据

 

MSDNHttpContext.Items属性的解释是这样的:获取可用于在 HTTP 请求过程中在 IHttpModule IHttpHandler 之间组织和共享数据的键值

 

HttpContext.Items属性中可以存放任何类型数据,无论这个属性中存放什么数据,都会在请求处理结束后自动清除,这就是暂存状态,数据的存放时间非常短.

 

 

//例如:

//我们有一页面A.ASPX,有一按钮ID:Submit,点按钮把页面转向b.aspx页面

 

public void Submit_Click(Object sender, EventArgs E)

{

  SqlConnection myConnection = new SqlConnection("server=(local)NetSDK;database=pubs;Trusted_Connection=yes");

  SqlDataAdapter myCommand = new SqlDataAdapter("select * from Authors", myConnection);

  DataSet ds = new DataSet();

  myCommand.Fill(ds, "Authors");

  //把数据放入暂存中

  Context.Items["MyData"] =ds;

  Server.Transfer(b.aspx); 

}

 

 

//b.aspx页面中

 

public void Page_Load(Object sender, EventArgs E)

  {

  if (!IsPostBack)

  {

  //取得暂存数据

  DataSet ds=(DataSet)Context.Items["MyData"];

  //其它数据过程

  }

  }

asp.net的暂存状态等同于jsp里面的request.setAttribute();RequestDispatcher.forward()方法

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值