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

时间:2021-05-31 09:00:11

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"];
//其它数据过程
}
}