2013-10-10 2 views
0

내 페이지에 HTML 앵커 태그가 있습니다. 페이지로드시 해당 앵커 태그의 href 속성에 URL을 설정합니다. href 속성을 설정하기 전에 개체에 정보를 저장하고 해당 개체를 세션에 저장합니다. 이 정보는 앵커 태그를 클릭 한 후 탐색하는 새 페이지에서 사용됩니다.HTTP를 통해 새 페이지를 탐색 할 때 세션이 손실되었습니다.

HTTPS를 통해 특정 앵커 태그를 클릭하여 새 페이지로 이동하면 설정 한 세션 변수가 유지됩니다. 특정 세션에 설정 한 객체의 속성에 액세스 할 수 있습니다.

하지만 HTTP를 통해 특정 앵커 태그를 클릭하면 새 페이지로 이동하므로 세션에 저장 한 개체의 속성은 손실됩니다. 누구든지 무슨 일이 일어나고 있는지 알 수 있습니까? HTTP를 통해 새 페이지를 탐색 할 때 세션 변수가 많은 이유는 무엇입니까?

+0

많은 브라우저에는 안전 제한이있어서 덜 안전하고 더 안전하며 아무런 손실없이 사용할 수 있지만 다른 방법은 사용할 수 없습니다. – Smeegs

답변

0

는 난 당신이

0

예 대신 앵커 태그의하는 LinkButton을 사용하고 이런 식의 이벤트 뭔가를해야만에서 코드를 작성할 수 있습니다 다른 페이지로 그 nevigate 후 aspx.cs 페이지 if(!Ispostback) {session["variable"] = value; Response.Redirect("nextpage.aspx"); } 처럼 코드를 작성해야한다고 생각 :

protected void LinkButton_Click(object sender, EventArgs e) 
    { 
Session["variable"] = yourobject; 
Response.Redirect("nextpage.aspx"); 

} 
+0

아이디어를 제공해 주셔서 감사합니다. 그러나 내 요구 사항은 다시 게시하지 않고 새 페이지로 이동합니다. 그래서 앵커 태그를 사용하고로드 할 때 href 속성을 설정했습니다. HTTP에서만 탐색 할 때만 세션 변수 (세션 객체의 속성)가 로트를 얻는 방법에 대해 우려하고 있습니다. 이것은 세션 변수와 관련하여 알려진 문제입니까? 누구든지 HTTP를 통해 새로운 페이지를 탐색 할 때 세션 변수를 유지하는 솔루션을 가질 수 있습니까? – Ashan

관련 문제