Umbraco如何使用ASP.NET MVC局部视图和Razor读取内容项

Umbraco如何使用ASP.NET MVC局部视图和Razor读取内容项,umbraco,umbraco6,Umbraco,Umbraco6,在Umbraco中我有一些特殊的文档类型,在内容树中我有一个包含此文档类型子项的项目。 我不想使用VS 2012。 我想为阅读这些项目创建一些局部视图。 并创建一些html标记。 我通过umbraco用户界面创建了局部视图 @inherits Umbraco.Web.Mvc.UmbracoViewPage<dynamic> @继承Umbraco.Web.Mvc.UmbracoViewPage 如何仅使用Umbraco API读取视图中的所有项和子项 谢谢。您应该在部分视图中继承

在Umbraco中我有一些特殊的文档类型,在内容树中我有一个包含此文档类型子项的项目。 我不想使用VS 2012。 我想为阅读这些项目创建一些局部视图。 并创建一些html标记。 我通过umbraco用户界面创建了局部视图

@inherits Umbraco.Web.Mvc.UmbracoViewPage<dynamic> 
@继承Umbraco.Web.Mvc.UmbracoViewPage
如何仅使用Umbraco API读取视图中的所有项和子项


谢谢。

您应该在部分视图中继承
Umbraco.Web.Mvc.UmbracoTemplatePage

@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
然后将当前模型传递到您的局部模型中:

@Html.Partial("MyPartialName", Model.Content)
然后,在您的部分应用程序中,您可以只使用API来获取孩子或您的任何内容:

@foreach(Model.Children()中的var节点,其中(x=>x.DocumentTypeAlias==“YourDocTypeAlias”)
{
@node.Name

}
我不确定这个答案是如何被接受的,在Umbraco 7.1(可能不是OP使用的目标版本)中,当使用模型时,您不能继承任何内容。这对Umbraco来说是新事物吗?(附加屏幕截图:在继承的同时使用模型)这也适用于7.1。您的继承应该是完整路径:
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@foreach (var node in Model.Children().Where(x => x.DocumentTypeAlias == "YourDocTypeAlias")
{
   <p>@node.Name</p>
}