asp.net提供一个类system.web.httpcontext ,用来表示上下文,此对象有一个属性items
msdn中httpcontext.items属性的解释是这样的:获取可用于在 http 请求过程中在 ihttpmodule 与 ihttphandler 之间组织与共享数据的键值 【程序编程相关:Struts总控的执行流程剖析】
暂存状态就是利用httpcontext.items属性来存放数据 【推荐阅读:ASP实现的一个DataGrid类α版】
【扩展信息:反射发送实战(-)InvokeMembe】
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"]; //其它数据过程 } } 在ibuyspyportal中我们也看到了此功能的使用:... 下一页