2012-01-17 44 views
1

我在我的項目(MVC3)N2CMS 2.2.1(來自nuget)中具有以下內容。我可以使用「管理部件」功能編輯主頁面,並將圖像部件拖放到頁面上並設置其內容。然而,當它呈現頁面時,它會在_layout.cshtml中呈現我的Image.cshtml文件(就像它對於一個頁面而不是一個部分)...這導致該站點具有多個頭部/頁腳等標籤並破壞佈局。我如何讓DroppableZones正確渲染部分(無需在每個局部視圖中手動設置Layout =「」)。如果你想自己測試一下,你可以檢查https://github.com/robbihun/N2CMSBaseStarterSite的代碼運行它,使用sqlite數據庫通過N2CMS設置並使用manage parts功能(http://screencast.com/t/w9q5a49Ei8)拖動一個圖像部分到主頁上。N2CMS MVC3 Html.DroppableZone呈現完整版式

_layout.cshtml

<body> 
    @{ Html.ControlPanel().Render(); } 
    @RenderBody() 

    <footer>&copy; @DateTime.Now.Year</footer> 
    @RenderSection("scripts", false) 
</body> 

StartHome.cshtml

<div> 
@{ Html.DroppableZone(Zones.ImageSlider).Render(); } 
</div> 

Image.cshtml

@model ImagePart 

    <div class="image"> 
    <img src="@Model.Image" alt="@Model.Title" /> 
     <span class="title">@Model.Title</span> 
     <span class="description">@Model.ShortDescription</span> 
    </div> 

StartHomePage.cs

[PageDefinition("Start Page", Description = "The start or home page of the website.", SortOrder = 1, InstallerVisibility = InstallerHint.PreferredRootPage | InstallerHint.PreferredStartPage)] 
[WithEditableTitle("Title", 1, Focus = true, ContainerName = Tabs.Content)] 
[RestrictParents(typeof(IRootPage))] 
public class StartHomePage : PageBase 
{ 
    [EditableFreeTextArea("Main Content", 2, ContainerName = Tabs.Content)] 
    public virtual string MainContent { get; set; } 
} 

ImagePart.cs

[PartDefinition("Image Part", Description = "Image with title and description.")] 
[WithEditableTitle("Title", 10)] 
public class ImagePart : PartBase 
{ 
    [FileAttachment, EditableImageUpload("Image", 5)] 
    public virtual string Image { get; set; } 

    [EditableTextBox("Short Description", 15, TextMode = TextBoxMode.MultiLine, Rows = 5, Columns = 15)] 
    public virtual string ShortDescription { get; set; } 
} 
+0

你能給我們一個截圖嗎?我在這裏看不到重複的頁眉/頁腳。 – 2012-01-17 18:05:14

+0

看看這是否有助於使它更清晰 - 當我查看源代碼時,我獲得了額外的元標記以及頁腳標記(它位於我的_layout.cshtml文件中)http://screencast.com/t/Hw8ZUGKTOp4 – Rob 2012-01-17 18:53:10

+0

我已檢出你的回購和編譯與msbuild - 但我看不到雙頁眉/頁腳 – 2012-01-18 08:34:21

回答

0

添加_ViewStart.cshtml在查看/共享/件文件夾,它會覆蓋該文件夾中的佈局設置。在新的_ViewStart中,設置Layout = null;並且不要在部分視圖中設置佈局。

這裏有一個拉你的請求:https://github.com/robbihun/N2CMSBaseStarterSite/pull/1