1

我想在Asp.net中填充Listview,並將其鏈接到另一個頁面。所以當用戶點擊一條記錄時,他們將重定向到與該記錄相關的新頁面。我有很多參數要保留。將參數傳遞給asp.net中的新頁面(在重定向中)

頁面重定向,是否有任何其他方式傳遞參數除了具有 「QueryString」?

回答

1

您可以使用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"]); 

您也可以參考:

+0

我設置cookie在第一頁,並重定向到第二頁面,爲什麼Cookie在第二頁上爲空? ,但應用程序[]正在工作精細 –

+0

@SarahN: - 沒有代碼很難預測它爲什麼會這樣發生?你是否也指過Application變量正在爲你工作? –

+0

是的,它的工作原理。但正如我記得,應用程序狀態在所有asp.net應用程序中都是已知的。我可以有更多本地的嗎? –

相關問題