使用Session記錄頁面地址與完成頁面返回技巧
發表時間:2024-06-03 來源:明輝站整理相關軟件相關文章人氣:
[摘要]在開發過程中為了滿足客戶的要求要實現這樣一個功能:在A頁面內點擊一個文字連接后進入C頁面,在點擊返回按鈕后可以返回A頁面,而在B頁面也有該文字連接,點擊后進入C頁面,返回時則返回B頁面(C頁面內只能有一個返回按鈕).為此想到了使用Session功能,就是向C頁面跳轉時記錄下是從哪個頁面跳過來的,然...
在開發過程中為了滿足客戶的要求要實現這樣一個功能:在A頁面內點擊一個文字連接后進入C頁面,在點擊返回按鈕后可以返回A頁面,而在B頁面也有該文字連接,點擊后進入C頁面,返回時則返回B頁面(C頁面內只能有一個返回按鈕).為此想到了使用Session功能,就是向C頁面跳轉時記錄下是從哪個頁面跳過來的,然后點擊返回按鈕時對session的內容進行判斷,從而決定是返回A頁面還是B頁面.
首先在A,B兩個頁面內要加入取得頁面路徑的代碼
string url=Request.CurrentExecutionFilePath.ToString();
//獲得當前頁面的虛擬路徑
Session[“URL”]=url;
Response.Redirect("C.aspx",true);
在C頁面內首先通過session獲得上個頁面的虛擬路徑
string url=Session["URL"].ToString();
由于A.B兩個頁面的虛擬路徑前半部分相同,實際上我們只要判斷是“A.aspx”還是“B.aspx”就行了.因此先借助split方法取得我們想要的頁面名稱,然后可以將名稱賦給一個label,在頁面內隱藏掉這個label(此處是否需要使用Lable來保存頁面名稱可以根據情況而定).
string[] split=url.Split(new char[] {'/'});
int n=split.Length;
string pathname=split[n-1];
Label1.Text=pathname;
最后在返回按鈕的響應事件中進行判斷,決定返回哪個頁面:
if (Label1.Text=="A.aspx")
Response.Redirect("A.aspx",true);
else
Response.Redirect("B.aspx",true);