我刚开始使用asp.net,并遵循了如何制作母版的教程http://www.asp.net/web-forms/videos/。 但是按照教程我仍然无法使其工作。我甚至使用了视频中使用的相同模板。
我的代码是通过visual studio的向导自动生成的。
更具体一点:我没有得到任何错误消息只是一个普通的页面,其中css来自我在教程中使用的模板。带菜单的div和其余部分不会显示在屏幕上。 (本来应该写这个)
从主页:
<asp:ContentPlaceHolder ID="MenuContentPlaceHolder" runat="server">
<div id="header">
<p> <a href="#">Link 1</a> . <a href="#">Link 2</a> . <a href="#">Link 3</a> . <a href="#">Link 4</a></p>
</div>
<div id="subheader">
<p>Apple Core 1.0</p>
</div>
<div id="menu">
<p><a href="#">Menu 1</a> <a href="#">Menu 2</a> <a href="#">Menu 3</a> <a href="#">Menu 4</a> <a href="#">Menu 5</a> <a href="#">Menu 6 </a></p>
</div>
</asp:ContentPlaceHolder>
<asp:ContentPlaceHolder ID="MenuContentPlaceHolder" runat="server">
<div id="header">
<p> <a href="#">Link 1</a> . <a href="#">Link 2</a> . <a href="#">Link 3</a> . <a href="#">Link 4</a></p>
</div>
<div id="subheader">
<p>Apple Core 1.0</p>
</div>
<div id="menu">
<p><a href="#">Menu 1</a> <a href="#">Menu 2</a> <a href="#">Menu 3</a> <a href="#">Menu 4</a> <a href="#">Menu 5</a> <a href="#">Menu 6 </a></p>
</div>
</asp:ContentPlaceHolder>
来自default.aspx
奇怪的是,当我从default.aspx中完全删除内容标签时,我似乎能够将菜单显示在屏幕上
答案 0 :(得分:1)
我认为你应该尝试这样的事情
<div id="header">
<p> <a href="#">Link 1</a> . <a href="#">Link 2</a> . <a href="#">Link 3</a> . <a href="#">Link 4</a></p>
</div>
<div id="subheader">
<p>Apple Core 1.0</p>
</div>
<div id="menu">
<p><a href="#">Menu 1</a> <a href="#">Menu 2</a> <a href="#">Menu 3</a> <a href="#">Menu 4</a> <a href="#">Menu 5</a> <a href="#">Menu 6 </a></p>
</div>
<asp:ContentPlaceHolder ID="MenuContentPlaceHolder" runat="server">
</asp:ContentPlaceHolder>
**将菜单代码放在母版页
中的内容占位符之外<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2.Default" %>
<asp:Content ID="Content2" ContentPlaceHolderID="MenuContentPlaceHolder" runat="server">
<br />
<h1>Hey</h1>
</asp:Content>
答案 1 :(得分:0)
我相信您正在做的是覆盖 MasterPage内容,方法是将HTML放在MasterPage 和的ContentPage中的PlaceHolder
标记内。这实际上是MasterPage概念的一个特征。如果您想要在页面上标准化的内容,但是您希望能够在某些页面上替换它,那么您可以将内容放在PlaceHolder中,并在应该有不同内容的页面上提供替换内容。 (或者,您可以将此视为“如果ContentPage中未提供任何内容,请使用此默认内容。”)
关于在删除内容代码时显示菜单的评论是因为您删除了正在替换MasterPage内容的自定义标记。如果您在使用给定MasterPage的每个页面上有总是想要的某些内容,请将内容放在MasterPage中,但不要放在PlaceHolder中。