c# - 使用嵌套母版页

标签 c# asp.net inheritance master-pages nested

我是 ASP.NET 的新手,请帮助我更多地了解 MasterPages 的概念。

我有 Site.master,其中包含通用标题数据(css、元数据等)、中心表单(空白)和页脚(版权信息、联系我们链接等)。

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="_SiteMaster" %>
<!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 id="tagHead" runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" href="styles.css" type="text/css" />
</head>
<body>
    <form id="frmMaster" runat="server">
    <div>
        <asp:ContentPlaceHolder ID="holderForm" runat="server"></asp:ContentPlaceHolder>
        <asp:ContentPlaceHolder ID="holderFooter" runat="server">Some footer here</asp:ContentPlaceHolder>
    </div>
    </form>
</body>
</html>

并且我想将第二个母版页用于子目录中的项目,该子目录将包含对 Page_Load 的 SQL 查询以进行日志记录(整个站点不需要)。

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Project.master.cs" Inherits="_ProjectMaster" MasterPageFile="~/Site.master" %>
<asp:Content ContentPlaceHolderID="holderForm" runat="server">
    <asp:ContentPlaceHolder ID="holderForm" runat="server" EnableViewState="true"></asp:ContentPlaceHolder>
</asp:Content>
<asp:Content ContentPlaceHolderID="holderFooter" runat="server">
    <asp:ContentPlaceHolder ID="holderFooter" runat="server" EnableViewState="true"></asp:ContentPlaceHolder>
</asp:Content>

但我有一个问题:没有显示页脚。

我的错误在哪里?我是否可以将第二母版页用作日志记录的父类(super class)?

项目页面如下所示:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" MasterPageFile="~/Project.master" %>
<asp:Content ContentPlaceHolderID="holderForm" runat="server">
    <p>Hello World!</p>
</asp:Content>
<asp:Content ContentPlaceHolderID="holderFooter" runat="Server">
    Some footer content
</asp:Content>

最佳答案

我一直在处理嵌套母版页,并遇到过类似的问题。据我所见,您在 Site.Master 中有“此处有一些页脚”的地方是问题所在,我也遇到过类似的问题,即在 contentplaceholder 标签中包含内容。如果你试试这个

<asp:ContentPlaceHolder ID="holderFooter" runat="server"/>Some footer here

然后您应该能够看到页脚内容。

关于c# - 使用嵌套母版页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/476049/

相关文章:

c# - 如何强制通用应用程序释放内存?

c# - 如何以编程方式运行 NUnit

asp.net - 在 IIS6 上安装 ASP.NET 4.0 和 ASP.NET 2.0

.net - 我的 ASP.NET session 太大了吗?

javascript - Javascript json 中的反斜杠与正斜杠

c++ - const 引用和虚拟模板继承

java - 检查 Class 对象是否是 Java 中另一个 Class 对象的子类型?

c# - MSDN 代码示例 : why does it cast before calling base. Equals(object)?

C#:具有继承类型构造函数的 Func

c# - 如何正确继承和隐藏基方法