2009-06-03 17 views

cevap

40

Biz gibi standart içeren ayrı gelen düzen ve site geniş biçimlendirme amacıyla, sık sık iç içe ana sayfalar kullanın:

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> 

sonra Siteyi kullanarak bir başka usta var .Master,

Standard.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> 
+2

Güzel örnek, size nasıl gösterdiğinizi seviyorum her bir ana şablon düzeyinde aynı ContentPlaceHolder Kimliği'ni kullanabilir – lambacck

+0

@Richard: Inherits = "System.Web.Mvc.ViewMasterPage " benim durumumda hata veriyor. Daha doğrusu Inherits = "System.Web.Mvc. ViewMasterPage "ve iyi çalıştı. Neden olduğunu açıklar mısınız? Ama gerçekten cevabınız mükemmel. –

+0

Çok hoş. Teşekkür ederim! – Ricky

İlgili konular