Как получить контент ContentItem в Orchard? - PullRequest
1 голос
/ 30 сентября 2011

У меня есть экземпляр ContentItem , и я хотел бы получить его содержимое.Как мне это сделать?

Ответы [ 2 ]

6 голосов
/ 28 февраля 2013

Скажите, что ваш тип называется Contact, имеет BodyPart и имеет текстовое поле с именем Subject. Если вы находитесь внутри шаблона контента, например Content-Contact.cshtml, вы можете получить доступ к элементу контента, используя Model.ContentItem. Преобразование в dynamic позволит Орчарду дать вам некоторое полезное поведение для доступа к его содержимому.

// necessary to access parts by name
@using Orchard.ContentManagement; 

@{
    // cast in order to have improved accessors
    dynamic contentItem = Model.ContentItem; 

    // access each part by its name
    string body = contentItem.BodyPart.Text;

    // access fields using the default part 
    string subject = contentItem.Contact.Subject.Value;
}
5 голосов
/ 30 сентября 2011

Это очень расплывчато. Я приведу случайный пример:

contentItem.As<BodyPart>().Text

даст вам содержимое части тела, если она есть.

...