程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET狀態管理之四(暫存狀態HttpContext.Items)

ASP.NET狀態管理之四(暫存狀態HttpContext.Items)

編輯:關於ASP.NET

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"];
  //其它數據過程
  }
 }

在ibuyspyportal中我們也看到了此功能的使用:

查詢字符串包含正被請求的選項卡的 TabIndedx 和 TabId 參數。在處理請求的整個過程中,一直使用此信息篩選要顯示給用戶的數據。

http://www.ibuyspyportal.com/DesktopDefault.aspx?tabindex=1&tabid=2

要使用查詢字符串值,需要首先確保它是一個有效值,如果不是,則要進行一些錯誤處理。它並不是一大串代碼,但是您真的要在每個使用該值的頁和組件中復制它嗎?當然不!在 Portal 示例中,甚至更多的地方都涉及到它,因為一旦我們知道了 TabId,就可以預先加載其他信息。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved