如何从razor视图呈现小部件

如何从razor视图呈现小部件,razor,widget,orchardcms,Razor,Widget,Orchardcms,由于我的主题的结构(可能是因为我对Orchard非常陌生),我需要从razor视图呈现一个小部件。小部件包含一个二级菜单,我需要将其放置在Layout.cshtml中;类似这样的东西,但有一个小部件(或菜单)而不是Model.Navigation <div id="MenuH"> @if (Model.Navigation != null) {@Display(Model.Navigation)} </div> @如果(Model.Navig

由于我的主题的结构(可能是因为我对Orchard非常陌生),我需要从razor视图呈现一个小部件。小部件包含一个二级菜单,我需要将其放置在Layout.cshtml中;类似这样的东西,但有一个小部件(或菜单)而不是Model.Navigation

<div id="MenuH">
    @if (Model.Navigation != null) 
        {@Display(Model.Navigation)}
</div>

@如果(Model.Navigation!=null)
{@Display(Model.Navigation)}
这可能吗

编辑

我需要在my Layout.cshtml“母版页”的这一部分中显示一个辅助菜单(或小部件):



看起来您正在尝试向尚不存在的新区域添加小部件。要实现这一目标,您需要做以下几件事:

1在Layout.cshtml中找到要呈现小部件的位置。在其中定义新的分区名称:

<div class="col-lg-sp-2 col-md-3 col-sm-4" id="bt-sidebar">
    <div class="column-left-zone">
        @Zone(Model.ColumnLeft)
    </div>
</div>

3现在“ColumnLeft”区域在您的管理UI中可用。将管理ui中的小部件添加到左侧区域的列中

是的,可以这样做,请调用Display.widget()。Orchard将查找名为widget.cshtml的模板“render a widget”,您的意思是呈现一个所有代码的小部件,还是要放置一个通过管理ui添加的小部件?@devqon我的意思是我通过管理ui添加的小部件(或菜单),然后您只需要定义一个区域,在该区域中添加管理ui中的小部件:
@zone(Model.MyZoneName)
在管理界面中,将小部件添加到“MyZoneName”中。我购买了一个定义了一些区域的主题,并试图避免重新定义其区域。该主题使用Layout.html“母版页”,在内容区域中插入两个列,我需要在左列中插入一个菜单
<div class="col-lg-sp-2 col-md-3 col-sm-4" id="bt-sidebar">
    <div class="column-left-zone">
        @Zone(Model.ColumnLeft)
    </div>
</div>
Zones: Header, Navigation, ..., ColumnLeft