Umbraco:在另一个模块中显示一个模块

Umbraco:在另一个模块中显示一个模块,umbraco,umbraco4,Umbraco,Umbraco4,我使用的是Umbraco的版本4,我想知道是否有办法从其他模块渲染模块 说 我想迭代MyMainModule中的子模块并显示它们。 像这样的 @{ var myLayoutHelper = new LayoutHelper(this); var modules = myLayoutHelper.CurrentModules; } @foreach (var mod in modules) { <div> @myLayoutHelper.Ren

我使用的是Umbraco的版本4,我想知道是否有办法从其他模块渲染模块

我想迭代MyMainModule中的子模块并显示它们。 像这样的

@{
    var myLayoutHelper = new LayoutHelper(this);
    var modules = myLayoutHelper.CurrentModules;
}

@foreach (var mod in modules)
{
    <div>
        @myLayoutHelper.RenderModule(mod)
    </div>
}

可能吗?

是的,您可以从宏脚本调用其他宏脚本

@foreach(var mod in modules) 
{
    @RenderPage("~/MacroScripts/Mod-Detail.cshtml", mod.Id);
}
然后在Mod Detail页面中,您可以选择如下id:

int myId = PageData[0];
更新:

对于在MVC modus中使用Umbraco v6的用户,请尝试

@Html.Partial("PartialName")
@Html.CachedPartial("PartialViewName", model:myModel, cachedSeconds:60, cacheByPage:true, cacheByMember:false,   viewData:AViewDataDictionary)
@Umbraco.RenderMacro("MacroAlias")   // to render a macro
@Html.Partial("PartialName")
@Html.CachedPartial("PartialViewName", model:myModel, cachedSeconds:60, cacheByPage:true, cacheByMember:false,   viewData:AViewDataDictionary)
@Umbraco.RenderMacro("MacroAlias")   // to render a macro