繁体   English   中英

Asp.net主页无法正常工作

[英]Asp.net Masterpage not working

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

当您在MasterPage的ContentPlaceHolder中指定标记时,仅当使用母版页的页面不使用ContentPlaceHolder时,才会呈现该标记。 因此,在Home.aspx中,如果摆脱了Contact1元素,则应该看到“横幅” div。

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

在使用母版页的各个页面上,Content标记应包含特定于该页面的唯一内容。

否...在母版页中,ContentPlaceholder1应该保留为空白。

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

我看到两件事:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM