[英]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
。
我看到两件事:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.