2009-06-03 15 views

Odpowiedz

40

Często używać zagnieżdżonych stron wzorcowych, aby układ z oddzielnym miejscu i standardowe obejmuje szeroki znacznikami, tak jak poniżej:

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> 

następnie mają innego mistrza korzystania z Serwisu .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

Dobry przykład, podoba mi się sposób, w jaki demonstrujesz, że może używać tego samego identyfikatora ContentPlaceHolder na każdym poziomie szablonu głównego – lambacck

+0

@Richard: Inherits = "System.Web.Mvc.ViewMasterPage " podaje błąd w moim przypadku, a raczej użyłem Inherits = "System.Web.Mvc. ViewMasterPage "i działało dobrze.Czy możesz wyjaśnić, dlaczego tak jest? Ale rzeczywiście twoja odpowiedź jest doskonała –

+0

Bardzo ładne. Dziękujemy! – Ricky

Powiązane problemy