2015-01-31 3 views
0

ASP.net을 사용하여 웹 사이트를 개발 중입니다.다른 페이지에서 숨겨진 필드 값 읽기

내 홈페이지에는 14 개의 트리보기 컨트롤이 있습니다. Jquery 탭 아래에 배치되었습니다. 따라서 사용자가 탭을 클릭하면 하나의 트리보기 만 나타납니다. 그래서 트리 노드 변경 이벤트는 현재 내가하고있는 일은 쿼리 문자열의 값을 다른 페이지로 전달하는 것입니다. 이 쿼리 문자열에는 민감한 데이터가 없습니다. 선택한 탭 ID와 선택된 트리 노드 ID를 전달해야합니다.

Response.Redirect(String.Format("~/Display.aspx?tab=1&type={0}",treeview1.SelectedValue), true); 

하지만 URL이 추악합니다. 나는 지금 친절 URL을 사용하고 싶지 않다. 그래서 내가 한 것은 내 홈 페이지에 2 개의 숨겨진 필드 값을 넣었고 트리 노드를 클릭 할 때 설정했습니다.

그래서 소스 페이지에서이 코드를 사용하여이 문제를 해결했습니다.

if(Page.PreviousPage!=null) 
       { 
        string tab= Page.PreviousPage.FindControl("hftab").UniqueID; 
        string Type= Page.PreviousPage.FindControl("hfType").UniqueID; 
       } 

그러나 Page.PreviousPage는 항상 NULL을 반환합니다. 그래서 어떻게 세션과 쿼리 문자열을 사용하지 않고이 탐구를 해결할 수 있습니다. 난 단지 두 개의 중요하지 않은 데이터를 배경으로 전달하려고합니다.

이것은 교차 페이지 포스트 백 것 노드 변경 이벤트에서 교차 페이지 포스트를 다시 수행하는 방법? 십자가 페이지를 다시 게시하여 필요한 값을 2 개만 얻으실 수 있습니까?

답변

0

시도하는 방법은 "교차 페이지 게시"메커니즘에서만 가능합니다. 버튼과 같은 서버 컨트롤의 PostbackUrl 속성을 설정하고 대상 페이지에서 Page 지시문의 PreviousPage 속성을 설정할 때; 당신은 Page.PreviousPage 값을 얻을 것입니다. 1. http://www.codeproject.com/Tips/604553/Postback-and-Cross-Page-Posting-in-ASP-NET 2. http://www.aspdotnet-suresh.com/2010/05/cross-page-post-backing-in-net.html

+0

방법 노드 변경 이벤트에서이 교차 페이지 게시물을 다시 할 : 여기

어떤 기준인가? 십자가 페이지를 다시 게시하여 필요한 값을 2 개만 얻으실 수 있습니까? – Sylar

+0

쿼리 문자열에 ID를 노출시키지 않으려는 경우 세션 변수를 사용하지 말고 두 번째 페이지에서받은만큼 제거하십시오. – kaushalparik27