ASP.NET状态管理之四(暂存状态HttpContext.Items) ASP.NET提供一个类System.Web.HttpContext ,用来表示上下文,此对象有一个属性Items
暂存状态就是利用HttpContext.Items属性来存放数据
MSDN中HttpContext.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()方法
|