2010-08-09 3 views
0

콘텐츠 페이지, 왼쪽 창 + 2 우측 창 (하나의 상단 헤더와 하나 개의 메인 화면 영역)asp.net 마스터 페이지, 나는 세 개의 섹션으로 마스터 페이지를

는 동적으로 채울 메인 화면 영역을 갖고 싶어 상단 머리글 창에서 링크를 클릭하면 URL이 표시됩니다.

헤더에 3 개의 링크가있는 경우 - 3 개의 페이지 (one.aspx, two.aspx, three.aspx)가 있다고 가정하고 헤더 파일에서 하나, 둘, 셋 링크를 클릭하고 싶습니다. 주 영역에있는 각 관련 하위 페이지의 주 영역에 콘텐츠가로드되도록합니다.

어떤 아이디어가 있습니까?

+0

냄새는 프레임 기반 솔루션과 비슷하지만 현실적으로 AJAX를 사용하여 이와 같은 작업을 수행 할 수 있습니다. – Kezzer

+0

당신은 구식 구조로 생각하고 있습니까? MasterPages는 다음과 같이 생각하십시오. 따라서 프레임의 페이지가 아닌 페이지에 직접 연결할 수 있습니다. – Jeroen

+0

어떤 종류의 AJAX 구조에 대해 이야기하고 있습니까? 설명하는 동작은 one/two/three.aspx에 마스터 페이지가 통합되어 있고 주 콘텐츠 영역으로 연결되는 Content 컨트롤이있는 간단한 마스터 페이지 동작처럼 들립니다. –

답변

3

ASP .NET 마스터 페이지의 요점은 페이지 영역을 채울 필요없이 원하는 것을 정확하게 수행하는 것입니다.

페이지에서 변경되지 않는 콘텐츠 (예 : 왼쪽 창과 맨 위 머리글/오른쪽 창)를 마스터 페이지로 옮기는 것이 좋습니다. 메인 스크린을위한 contentplace 홀더를 생성하십시오.

그런 다음 one.aspx, two.aspx, three.aspx 페이지를 만들고 새 마스터 페이지를 사용하게하십시오. 이제 페이지를 편집 할 때 편집 할 영역은 기본 화면 영역의 내용이됩니다.

마스터 페이지에서 변경 한 사항은 각각을 업데이트하지 않고도 세 페이지 모두에 즉시 반영됩니다.

다른 목표를 가지고 있다면 알려 주시기 바랍니다. 내가 도울 수있는 일을하겠습니다.

0

나는 완전히 당신의 의도를 따를 지 모르겠다. 그러나 내가 그것을 얻는다면, 당신이 원하는 것은 떠있는 프레임처럼 느껴진다.

2

페이지를 만들 때 마스터 페이지를 선택해야합니다. 각 페이지에서 마스터 페이지의 컨텐츠 영역을 채 웁니다.

그래서 페이지에 링크하려면 각 페이지의 Head ContentPlaceHolder에 링크를 넣을 수 있습니다. 따라서 'one.aspx', 'two.aspx'및 'three.aspx'에 직접 연결하십시오.

각 페이지는 요청시 마스터 페이지 내용을로드합니다. 그래서 프레임 (프레임 잊기)을 포함하지 않는 것처럼 작동합니다.

1

레이아웃 div로 마스터 페이지를 만들고를 사용하여 콘텐츠 탭 안에 자리 표시자를 남겨 둡니다.

다음으로 마스터 페이지를 기본으로 사용하고 자동으로 생성 된 태그 내에서 해당 페이지의 특정 콘텐츠를 넣는 새 페이지를 만듭니다.

헤더 링크가 가리키는 각 콘텐츠 페이지에 대한 마스터 페이지를 상속하는 새 페이지를 만듭니다.

안녕하세요, 프레임이나 스크립트가 필요하지 않습니다.