개발 과정에서 고객의 요구 사항을 충족하려면 다음과 같은 기능을 구현해야 합니다. 페이지 A의 텍스트 링크를 클릭하면 페이지 C로 들어가고 돌아가기 버튼을 클릭하면 페이지 A로 돌아가며 페이지 B에도 text link, click to enter C 페이지로 돌아가면 B 페이지로 돌아갑니다. (C 페이지에는 돌아가기 버튼이 하나만 있을 수 있습니다.) 그래서 어느 페이지로 이동했는지 기록하는 Session 기능을 활용하려고 했습니다. 페이지 C로 이동할 때부터 돌아가기 버튼을 클릭합니다. 세션 내용을 판단할 때 페이지 A로 돌아갈지 아니면 페이지 B로 돌아갈지 결정합니다.
먼저 두 페이지 A와 B에서 페이지 경로를 가져오는 코드를 추가합니다. .
string url=Request.CurrentExecutionFilePath.ToString();
//
가상 경로 가져오기
Session["URL"]=url
;
세션을 통한 이전 페이지의
가상 경로
문자열 url=Session["URL"].ToString ();두 페이지 AB의 가상 경로의 전반부는 동일하므로 실제로는 그것이 맞는지 여부만 확인하면 됩니다. "A.aspx" 또는 "B.aspx" 따라서 먼저 분할 방법을 사용하여 원하는 페이지 이름을 얻은 다음 레이블에 이름을 할당하고 페이지에서 레이블을 숨길 수 있습니다(필요 여부에 관계 없음). 상황에 따라 페이지 이름을 저장하는 레이블을 사용합니다.
int
n=split.Length
;
Label1.Text=pathname;
마지막으로 반환 버튼의 응답 이벤트를 판단하여 반환할 페이지를 결정합니다.
if (Label1.Text=="A .aspx")
Response.Redirect("A.aspx",true);
else
Response.Redirect("B.aspx",true);