我想在Asp.net中填充Listview,並將其鏈接到另一個頁面。所以當用戶點擊一條記錄時,他們將重定向到與該記錄相關的新頁面。我有很多參數要保留。將參數傳遞給asp.net中的新頁面(在重定向中)
在頁面重定向,是否有任何其他方式傳遞參數除了具有 「QueryString
」?
我想在Asp.net中填充Listview,並將其鏈接到另一個頁面。所以當用戶點擊一條記錄時,他們將重定向到與該記錄相關的新頁面。我有很多參數要保留。將參數傳遞給asp.net中的新頁面(在重定向中)
在頁面重定向,是否有任何其他方式傳遞參數除了具有 「QueryString
」?
您可以使用Cookies
SET :
HttpCookie cookieName = new HttpCookie("Name");
cookieName.Value = "SarahN";
GET :
string name = Request.Cookies["Name"].Value;
OR你可以使用
Application Variables
SET :
Application["Name"] = "SarahN";
GET :
string Name = Application["Name"].ToString();
或您可以使用Context
對象
通過上下文對象傳遞值是另一個廣泛使用的方法。
MyForm1.aspx.cs
TextBox1.Text = this.Context.Items["Parameter"].ToString();
MyForm2.aspx.cs
this.Context.Items["Parameter"] = TextBox1.Text;
Server.Transfer("MyForm2.aspx", true);
從MSDN
語境
上下文對象爲單個用戶保存數據,用於請求的單個 ,並且僅在請求的持續時間內持久化。上下文容器可容納大量數據,但通常用於容納小塊數據,因爲它通常通過global.asax中的處理程序對每個請求實施 。上下文 容器(可從頁面對象訪問或使用 System.Web.HttpContext.Current)提供用於保存需要在不同HttpModules和HttpHandlers之間傳遞 的值。它也可以用於保存與整個 請求相關的信息。例如,IBuySpy門戶在Global.asax的Application_BeginRequest 事件處理程序期間將一些配置 信息填充到此容器中。請注意,這僅適用於當前請求的 ;如果您需要的東西仍然在 的下一個請求中,請考慮使用ViewState。設置並獲取來自Context集合的數據 使用的語法與 已與其他集合對象(如應用程序, 會話和高速緩存)已見過的語法相同。兩個簡單的例子如下所示:
// Add item to
Context Context.Items["myKey"] = myValue;
// Read an item from the
Context Response.Write(Context["myKey"]);
您也可以參考:
我設置cookie在第一頁,並重定向到第二頁面,爲什麼Cookie在第二頁上爲空? ,但應用程序[]正在工作精細 –
@SarahN: - 沒有代碼很難預測它爲什麼會這樣發生?你是否也指過Application變量正在爲你工作? –
是的,它的工作原理。但正如我記得,應用程序狀態在所有asp.net應用程序中都是已知的。我可以有更多本地的嗎? –