Я создал пользовательскую часть с именем PresentationPart и поместил ее.
В Place.info у меня есть
<Match ContentType="Presentation">
<Match DisplayType="Summary">
<Place Parts_PresentationPart_Summary="Content:after"/>
</Match>
<Match DisplayType="Detail">
<Place Parts_PresentationPart="Content:after"/>
</Match>
</Match>
Расположение папок
Views ->
EditorTemplates ->
Parts ->
Parts_PresentationPart.cshtml
Parts ->
Parts_PresentationPart.cshtml
Parts_PresentationPart.Summary.cshtml
Представление Parts_PresentationPart_Summary никогда не используется (при попытке отображения сводки в представлении списка).
Если я изменю область совпадения Сводной информации Placement.info на
<Match DisplayType="Summary">
<Place Parts_PresentationPart="Content:before"/>
<Place Parts_PresentationPart_Summary="Content:after"/>
</Match>
Отобразится обычный вид.
Что требуется для отображения сводного представления? Или я что-то пропускаю?
edit: я пропустил CombinedResult в драйвере дисплея.
Оригинал:
protected override DriverResult Display(PresentationPart part, string displayType, dynamic shapeHelper)
{
return ContentShape("Parts_PresentationPart",() => shapeHelper.Parts_PresentationPart(ContentItem: part.ContentItem, Name: part.Name)));
}
Так что мне нужно что-то вроде этого?
var driverResults = new List<DriverResult>();
driverResults.Add(ContentShape("Parts_PresentationPart", () => shapeHelper.Parts_PresentationPart(ContentItem: part.ContentItem, Name: part.Name)));
driverResults.Add(ContentShape("Parts_PresentationPart_Summary",() => shapeHelper.Parts_PresentationPart(ContentItem: part.ContentItem, Name: part.Name)));
return new CombinedResult(driverResults);