문제

ASP.NET 응용 프로그램에서 마스터 페이지 및 하위 페이지를 사용하고 있습니다. 마스터 페이지에 드롭 다운 목록과 TreeView (SiteemapDatasource를 사용하는)가 있습니다. TreeView 노드를 클릭하면 페이지가 하위 페이지로 리디렉션됩니다. 문제는 Drop DWN 목록에서 값을 선택하고 TreeView 노드를 클릭하면 선택한 값을 하위 페이지의 Ext Box에 할당해야합니다. 이것은 작동하지 않습니다 .. Master Page_load ()는 child page_load () 이후에 실행 중입니다.

이것에서 나를 도와주세요.

감사합니다 Rupa

도움이 되었습니까?

해결책

마스터 페이지를 직접 볼 수 없으므로 공통 마스터 페이지를 사용하는 두 페이지가 있다고 가정합니다. 또한이 마스터 페이지에 드롭 다운 목록과 TreeView Siteemap을 표시한다고 가정합니다.

이것을 바탕으로 나는 대부분 일어나고있는 일이 당신의 treeview가 평범한 오래된 HTML 링크를 렌더링하고 있다는 것입니다 (예 : <a href='http://stackoverflow.com'>...). 이들이 클릭하면 브라우저가 두 번째 자식 페이지에 대한 GET 요청을 실행합니다. 기본적으로 첫 번째 자식 페이지의 데이터는 두 번째 페이지로 전달되지 않습니다.

이 동작을 바꿀 수있는 다양한 방법이 있습니다. 먼저 설정해야합니다 AutoPostBack True와 손잡이에 대한 속성 SelectedIndexChanged 드롭 다운 목록에서 이벤트. 이 경우 드롭 다운 값을 저장하여 나중에 복원 할 수 있습니다.

이 값을 저장하는 가장 쉬운 방법은 아마도 세션에 넣는 것입니다.

Session["myvar"] = dropdown.SelectedIndex;

마스터 페이지가 다음과 같은 작업을 수행하여 하위 페이지가로드 될 때이 값을 복원 할 수 있습니다.

if (!IsPostBack && Session["myvar"] != null) 
    dropdown.SelectedIndex = (int)Session["myvar"];

또 다른 옵션은 TreeView에서 각 URL의 쿼리 스트링에 값을 추가하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top