2010-03-26 11 views
0
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <link rel="stylesheet" type="text/css" href="Home.css" /> 
    <asp:ContentPlaceHolder id="head" runat="server"> 
    </asp:ContentPlaceHolder> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server"> 
      <div id="banner" style="font-family: Calibri, Serif; color: #FFFFFF"> 
       blah blah 
      </div> 
     </asp:ContentPlaceHolder> 
    </div> 
    </form> 
</body> 
</html> 

Home.aspxAsp.net Masterpage

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Home.aspx.cs" Inherits="Home" 
MasterPageFile="~/MasterPage.master" Title="Welcome to StuartStudios!"%> 


<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> 
</asp:Content> 

합니까 Home.aspx 내가 ContentPlaceHolder1에서 정의한대로 인쇄되지 작동하지? 분당 아무것도 인쇄하지 않습니다. : S

답변

1

아니요 ... ContentPlaceholder1은 masterpage에 비워 두어야합니다.

0

두 가지 내가 참조 : 마스터 페이지에서

  1. 귀하의 사업부는 색상은 흰색으로 설정하고있다. 그래서 내가 틀리지 않으면 흰색을 흰색으로 인쇄하고있는 것입니다.
  2. Home.aspx의 컨텐트 항목이 비어 있는데, 왜 다른 것을 인쇄합니까?
+0

아, 혼란스러워 보입니다. contentplaceholder 내부에 콘텐츠가있는 마스터 페이지에서 사용자가 이동하는 페이지가 해당 contentplaceholder의 콘텐츠를 정의하지 않으면 화면에 인쇄됩니다. 예를 들어 4 개의 자리 표시 자 (머리글, 메뉴, 본문 및 바닥 글)를 가질 수 있습니다. 그러나 대부분의 페이지에서 본문 내용 만 제공하려고합니다. 그러나 특별한 메뉴 또는 특수 바닥 글을 원할 경우 예외가있을 수 있습니다. 그런 다음 해당 내용을 제공 할 수도 있습니다. 해당 컨텐츠를 제공하지 않으면 마스터 페이지에 정의 된 내용이 표시됩니다. – Jaxidian

2

마스터 페이지의 ContentPlaceHolder에 마크 업을 지정하면 마스터 페이지를 사용하는 페이지가 ContentPlaceHolder를 사용하지 않는 경우에만 해당 마크 업이 렌더링됩니다. 따라서 Home.aspx에서 Contact1 요소를 제거하면 "banner"div가 표시됩니다.

배너 div가 모든 페이지에 나타나게하려면 ContentPlaceHolder 컨트롤 바깥으로 이동해야합니다.

마스터 페이지를 사용하는 개별 페이지에서 콘텐츠 태그는 특정 페이지에 고유 한 내용을 포함해야합니다.

+0

아 ... 알겠습니다, 고마워요! – craig

1

나는 ASP.Net에서 전문가는 오전,하지만 지금까지 내가 당신이 당신의 페이지 파일에 <asp:Content> 태그를 추가하는 방식 <asp:ContentPlaceHolder /> 작품을 이해, 당신은 마스터 페이지에서 ContentPlaceHolder의 내용보다 우선합니다. 그 내용은 해당 Content 태그가없는 경우에만 표시됩니다.

관련 문제