Asp.net mvc 4 Orchard CMS小部件中未呈现自定义部件

Asp.net mvc 4 Orchard CMS小部件中未呈现自定义部件,asp.net-mvc-4,orchardcms,orchardcms-1.8,Asp.net Mvc 4,Orchardcms,Orchardcms 1.8,横杆: 我使用的是Orchard 1.8,我已经构建了一个附加到小部件的部分。这是一个基本部分,但我在呈现模板时遇到问题。这是我的密码: 模型 安置 小部件渲染良好,但零件模板根本不渲染。当我创建跟踪时,小部件下看不到appswidgetpart,但当我检查模型时,它就在那里 我还调试并附加了驱动程序中的显示功能,没有出现任何问题。我在日志中也没有看到任何错误 有什么想法吗?我不确定您是否在驱动程序中正确显示了形状。我通常是这样做的 protected override DriverResult

横杆:

我使用的是Orchard 1.8,我已经构建了一个附加到小部件的部分。这是一个基本部分,但我在呈现模板时遇到问题。这是我的密码:

模型

安置

小部件渲染良好,但零件模板根本不渲染。当我创建跟踪时,小部件下看不到appswidgetpart,但当我检查模型时,它就在那里

我还调试并附加了驱动程序中的显示功能,没有出现任何问题。我在日志中也没有看到任何错误


有什么想法吗?

我不确定您是否在驱动程序中正确显示了形状。我通常是这样做的

protected override DriverResult Display(AppsWidgetPart part, string displayType, dynamic shapeHelper)
{
    return ContentShape(
        "Parts_AppsWidget",
        () => shapeHelper.Parts_AppsWidget(ContentItem: part.ContentItem));
}

你好像少了一个训练员。还有,如果记录类是空的,为什么还要有记录类?
public class AppsWidgetDriver : ContentPartDriver<AppsWidgetPart>
{
    protected override DriverResult Display(AppsWidgetPart part, string displayType, dynamic shapeHelper)
    {
        return ContentShape("Parts_AppsWidget",
            () => shapeHelper.Partial(
                TemplateName: "Parts/AppsWidget"
        ));
    }
}
        #region Define Apps Widget

        ContentDefinitionManager.AlterPartDefinition(
            typeof(AppsWidgetPart).Name, cfg => cfg.Attachable());

        ContentDefinitionManager.AlterTypeDefinition("AppsWidget", cfg => cfg
            .WithPart("WidgetPart")
            .WithPart(typeof(AppsWidgetPart).Name)
            .WithPart("CommonPart")
            .WithSetting("Stereotype", "Widget"));

        #endregion

        #region Create Apps Widget

        var appsWidget = _widgetsService.CreateWidget(homepageLayer.Id, "AppsWidget", "Apps", "5", "AfterContent");
        appsWidget.RenderTitle = true;
        appsWidget.Name = "apps";
        _contentManager.Publish(appsWidget.ContentItem);

        #endregion
<Place Parts_AppsWidget="AfterContent:5" />
protected override DriverResult Display(AppsWidgetPart part, string displayType, dynamic shapeHelper)
{
    return ContentShape(
        "Parts_AppsWidget",
        () => shapeHelper.Parts_AppsWidget(ContentItem: part.ContentItem));
}