Orchardcms 在SummaryAdmin模块中显示MediaLibraryPickerField

Orchardcms 在SummaryAdmin模块中显示MediaLibraryPickerField,orchardcms,orchardcms-1.7,Orchardcms,Orchardcms 1.7,我已使用以下代码将MediaLibraryPickerField添加到迁移中的内容类型中: ContentDefinitionManager.AlterPartDefinition("MyPart", builder => builder.WithField("MyImage", fieldBuilder => fieldBuilder.OfType("MediaLibraryPickerField")

我已使用以下代码将MediaLibraryPickerField添加到迁移中的内容类型中:

ContentDefinitionManager.AlterPartDefinition("MyPart",
    builder => builder.WithField("MyImage", 
        fieldBuilder => fieldBuilder.OfType("MediaLibraryPickerField")
                                    .WithDisplayName("My Image")));
这在编辑视图中为我提供了一个媒体库选择器控件,并按预期工作

当我在SummaryAdmin中显示MyPart时,Orchard尝试使用Image.SummaryAdmin.cshtml并在此处出错,因为
.As
返回空值:

var mediaPart = ((ContentItem)Model.ContentItem).As<MediaPart>();
var mediaPart=((ContentItem)Model.ContentItem).As();
Model.ContentItem不是MediaPart,它是MyType。它确实有一个ImagePart附加到MyType

问题:

  • 为什么图像形状要查找MediaPart
  • 如何将MediaPart作为模型的一部分注入?(我应该吗?)
  • 我应该在这里创建另一个视图并深入到正确的部分吗
  • 我是否完全不知道如何使用MediaLibraryPickerField

  • 你能补充更多关于你到底尝试了什么的细节吗?特别是,我不知道你所说的“当我在SummaryAdmin中显示我的角色时”是什么意思。
    @{  
         var mediaPart= ((Orchard.MediaLibrary.Fields.MediaLibraryPickerField)Model.Fields.Single(f => f.Name == "MyImage")).MediaParts;
    }