Asp.net主页无法正常工作

时间:2010-03-26 14:53:27

标签: asp.net

<%@ 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.aspx

<%@ 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

4 个答案:

答案 0 :(得分:2)

当您在MasterPage内的ContentPlaceHolder中指定标记时,只有在使用您的母版页的页面不使用ContentPlaceHolder时才会呈现该标记。所以在Home.aspx中,如果你摆脱了Contact1元素,你应该看到你的“banner”div。

因此,如果您希望横幅div显示在所有页面上,则应将其移至ContentPlaceHolder控件之外。

在使用母版页的各个页面上,内容标记应包含特定页面特有的内容。

答案 1 :(得分:1)

否...... ContentPlaceholder1应在母版页中留空。

答案 2 :(得分:1)

我不是ASP.Net的专家,但据我了解<asp:ContentPlaceHolder />的工作方式,当您在页面文件中添加<asp:Content>标记时,会覆盖{ContentPlaceHolder内容主页面中的1}}。只有在您没有相应的Content标记时才会显示其内容。

答案 3 :(得分:0)

我看到的两件事:

  1. 您母版页中的div颜色设置为白色。因此,除非我弄错了,否则你在白色上打印白色。
  2. Home.aspx中的您的内容项目是空的,为什么还要打印其他内容?