【问题标题】:Are there nested master pages in ASP.NET MVC?ASP.NET MVC 中是否有嵌套母版页?
【发布时间】:2009-06-03 20:45:52
【问题描述】:

我想知道 MVC 框架是否可以利用嵌套母版页?如果是这样,有人知道如何实现这一目标吗?

【问题讨论】:

    标签: asp.net asp.net-mvc master-pages


    【解决方案1】:

    我们经常使用嵌套母版页,以便将布局与标准包含和站点范围的标记分开,如下所示:

    Site.Master:

    <%@ Master Language="C#" AutoEventWireup="true" Inherits="System.Web.Mvc.ViewMasterPage<PageViewModel>" %>
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8">
        <meta name="language" content="en">
        <title><asp:ContentPlaceHolder ID="Title" runat="server"><%= Model.Page.Title %></asp:ContentPlaceHolder></title>
    
        <% Html.RenderPartial("Head"); %>
    
        <meta name="robots" content="index, follow">
        <meta name="robots" content="noodp">
        <asp:ContentPlaceHolder ID="ExtraHead" runat="server"></asp:ContentPlaceHolder>
    </head>
    <body >
    
        <asp:ContentPlaceHolder ID="MainContent" runat="server"></asp:ContentPlaceHolder>
    
    </body>
    </html>
    

    然后让另一个使用 Site.Master 的 master,

    标准大师:

    <%@ Master Language="C#" AutoEventWireup="true" Inherits="System.Web.Mvc.ViewMasterPage<PageViewModel>" MasterPageFile="Site.Master" %>
    <asp:Content ContentPlaceHolderID="ExtraHead" runat="server">
        <asp:ContentPlaceHolder ID="ExtraHead" runat="server"></asp:ContentPlaceHolder>
    </asp:Content>
    
    <asp:Content ContentPlaceHolderID="MainContent" runat="server">
    
    
                <asp:ContentPlaceHolder ID="MainContent" runat="server"></asp:ContentPlaceHolder>
    
    
    </asp:Content>
    

    【讨论】:

    • 很好的例子,我喜欢你如何证明你可以在每个主模板级别使用相同的 ContentPlaceHolder ID。
    • @Richard: Inherits="System.Web.Mvc.ViewMasterPage" 在我的情况下给出错误。相反,我使用了 Inherits="System.Web.Mvc.ViewMasterPage" 并且效果很好。你能解释一下为什么吗?但确实你的回答很好。
    【解决方案2】:

    是的。我刚刚在http://jeffreypalermo.com/blog/asp-net-mvc-and-the-templated-partial-view-death-to-ascx/看到了一篇关于此的博客文章

    非常酷的东西。

    【讨论】:

    • 你打败了我。好帖子。
    • 看来我只需要赶上我的推文。 elijahmanor:@jeffreypalermo #tech #aspnetmvc bit.ly/ctKii 撰写的“ASP.NET MVC 和模板化局部视图(ASCX 之死)”,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多