2009-11-25 6 views
5

내가 마스터 페이지를 사용하지 못하게되면 마스터 페이지의 시각적 컨텐츠의 90 % 만 상속 받기를 원할 것이므로 두려움을 느끼게 될 것입니다. 나는 상속을 깨고 주인에 있던 내용을 복제하여 아이에게 가져 가야합니다.마스터 페이지는 이동할 수 있습니까?

나는 이것이 "상속"과 관련하여주의해야한다는 점에서 문제가 있다고 생각하지만 적어도 일반 클래스의 메서드를 재정의 할 수있는 것처럼 보입니다.

나는 여기 너무 일관 적이 지 않지만 사용자 정의 컨트롤은 유연성을 제공합니다. 유일한 무승부는 webform으로 드래그해야한다는 것입니다. 그렇게하기 위해 나는 큰 일을 말한다.

내 앱이 mastercontrol을 사용하여 mastercontrol을 사용하는 것을 저를 놀라게하고 내 자바 스크립트가 깨질 까봐 두렵습니다.

댓글?

답변

1

언급 한 것처럼 상속 문제는 어디서나 나타날 수 있습니다. 엔지니어를 일찍 끝내지 마십시오.

설명하는 마스터 페이지 문제를 사용하여 다른 CSS 파일을 스왑/아웃하고 선택기를 사용하여 마스터 페이지에서 생성 된 HTML 부분을 숨기거나 변경할 수 있습니다.

8

나는 이 아니라 마스터 페이지를 사용한다고 생각하지 않습니다. 대부분의 페이지에서 대부분의 크롬을 공유하고 싶다면 마스터 페이지를 중첩 할 수 있으며, 내부 크롬은 사일로에서 공유 할 수 있습니다.

+0

+1 중첩을 언급하면 ​​... 그게 내가하는 일입니다. –

+0

나는 당신의 말은 당신이 개인적으로 사용하지 않겠지 만, 그렇게했다면 가장 융통성을 부여하기 위해 그들을 중첩 할 것입니다. 내부 크롬, 사일로 포인트를 따르지 않지만 왜 사용하지 않습니까? – ChadD

+0

그래서 모든 페이지에 공통 헤더와 스타일 시트가 필요하다고 가정 해 봅시다. 메인 마스터 페이지가 있습니다. 그런 다음 내 사이트의 특정 영역에서 내 블로그 영역을 말하면 메인 마스터 페이지가 외부에 있고 페이지 콘텐츠가 내부에있는 다른 마스터 페이지가 있습니다. 마스터 페이지를 다른 마스터 페이지에 중첩시켜 여러 페이지에 걸쳐 유사한 내용의 다양한 정도를 공유 할 수 있습니다. – Mark

13

Do not be scared.

원하는만큼 많은 자리 표시자를 만들 수 있으므로 마스터 페이지를 매우 세부적으로 만들 수 있습니다. 이러한 자리 표시 자에는 기본 콘텐츠 & 컨트롤이 포함될 수도 있습니다.

따라서 기본 태그를 사용하려는 페이지의 90 %에서 재정의 내용을 생략 할 수 있습니다. 당신은 당신이 제공 할 수 뭔가 다른 것을 최우선 마크 업을 할 경우 10 %의 또는

예 :

<%@ Page MasterPageFile="..." %> 
<asp:Content ContentPlaceHolderID="Headline" runat="Server"> 
    My homepage headline 
</asp:Content> 

<asp:Content contentplaceholderid="Main" runat="server"> 
    My homepage main content 
</asp:Content> 
: 당신이 그렇게 같은 페이지를 가질 수

홈페이지에
<%@ Master Language="C#" %> 
<html> 
<body> 
<asp:ContentPlaceholder id="Headline" runat="Server"> 
    My Default Headline 
</asp:ContentPlaceholder> 
<asp:ContentPlaceholder id="Main" runat="Server" /> 
</body> 
</html> 

다른 모든 페이지의

은 헤드 라인 태그를 생략하여 기본 '헤드 라인'을 활용합니다.

<%@ Page MasterPageFile="..." %> 
<asp:Content contentplaceholderid="Main" runat="server"> 
    My page main content 
</asp:Content> 
1

익숙해지면 의도 한대로 사용하기 시작합니다. 공동 출처를 보증하기에 충분한 페이지가 공유하는 정보 (CSS, 공통 js, 페이지 배치 관심사 등)는 거기에 갈 것이고, 나중에 그 정보가 있으면 행복 할 것입니다.

페이지를 만들 때 main.master에서 약간 조정을하면 (다른 방법으로 추상화하는 경우), 조정을 빨리하고 앞으로 이동할 수 있습니다.

규칙을 위반하는 일회용 페이지 인 경우 해당 페이지에 다른 마스터를 상속한다고 간단히 말할 수 있습니다.

테스트 사이트를 만들고 개념을 사용하기 전에 조금만 놀아 라.

-2

마스터 페이지의 아이디어는 좋지만 (사소하지 않은 경우) 좋지만 실현 때문에 유용하지 않습니다.

  1. 마스터 페이지페이지 (내용)하지만 반대를 호출하지 않습니다. 그래서, 그게 무슨 문제입니까? 간단하지만 다른 페이지는 호출 할 수 없으며 하나의 페이지 만 호출 할 수 있습니다. 따라서 모든 페이지를 코딩하여 동일한 페이지에 넣으십시오. 전혀 말도 안돼. 마스터 페이지는 여러 콘텐츠 블록을 허용하지만 모두 같은 페이지를 가리 킵니다 (따라서 코드가 복잡해집니다).

  2. 그들이 같은 "양식"태그를 공유 예를 들어 마스터 페이지 코드와 발신자 페이지을 연결하는 사소한 아니지만, 당신은 당신의 페이지에 양식 태그를 삽입해야하고 사용할 수 있습니다 양식 태그는 한 번만 : -?

  3. 변수/값은 당신이 있지만, 어떤 당신은 페이지 전에로드 사이클 (에주의를 기울여야한다

  4. (예를 들어, 마스터 내부 함수를 호출) "해킹"이 필요할 수 있습니다, 직접 공유되지 않습니다로드). 마스터 페이지

마스터 페이지 정적 인 경우, 그렇지 않으면 더 나은 방법 간단하게하는 것입니다, 좋은 있으며, 모든 페이지 또는 사용자 지정 컨트롤을 사용하는 "& 복사하여 붙여 넣기를"마스터 페이지 추가하기 때문에 새로운 수준의 복잡성.

마스터 페이지의 목표가 시간을 절약하는 것임을 기억하십시오. 그러면이 작업에서 실패하면 쓸모가 없습니다.

내 2 센트.

+1

실제로 동일한 텍스트 섹션을 세 번 복사/붙여 넣었다는 사실을 알고 있습니까? –

+0

Dude ... 게시물을 정리하십시오. – Aheho

+0

-1 포인트 1이 맞다는 것을 믿지 않습니다. piont 2, 마스터 페이지를 사용하는지 여부에 관계없이 모든 ASP 페이지에 2 개의 양식을 넣을 수 없습니다. 걱정의 분리는 좋은 것입니다. 4. 매우 사실. – Myster

관련 문제