在模型中的哪里可以找到我的自定义内容字段

时间:2013-12-17 17:49:39

标签: asp.net-mvc razor orchardcms orchardcms-1.7

我的CoverImage内容定义中有一个字段BlogPost,我在管理控制台的内容定义菜单中定义了该字段BlogPost。我假设每当呈现Model时,我都可以在Model.ContentItem.BlogPostPart.Field["CoverImage"]内的某个位置从关联的备用区域访问它,例如通过Model,或类似的东西。

但实际上,我在Model.ContentItem.BlogPostPart.Title内找不到任何引用自定义字段的字段,而其他字段(例如Model.ContentItem.BlogPostParts.Text@Model.ContentItem.BlogPostPart.CoverImage.Value则可以正常使用。谁能解释一下?

[UPDATE] 访问'Orchard.Blogs.Models.BlogPostPart' does not contain a definition for 'CoverImage'会出错:CoverImage

我在形状跟踪中找不到CoverImage

model

以下是我在Blog Post内容定义中定义{{1}}字段的方式:

field

2 个答案:

答案 0 :(得分:2)

" blahblah"您正在寻找的是ContentItem,一般来说,部分是:

  Model.ContentItem.NamePart.PropertyName

对于字段是

  Model.ContentItem.NamePart.NameField.Value

所以在你的情况下,应该是这样的:

  Model.ContentItem.BlogParts.CoverImage.Value

答案 1 :(得分:0)

jmgomez是对的...正如他所说的那样:

  

@ {

     

动态嘿=(动态)模型;
  var yay =   hey.ContentItem.BlogPost.CoverImage.MediaParts [0] .MediaPart;

     

}

     

< img src='@yay.MediaUrl'/>

作为对任何感兴趣的人的一点解释......默认部分附加到内容项,其中附加了字段。它显示为ContentPart,但它实际上是使用您的内容类型的名称访问的,因此在这种情况下,BlogPost是内容类型,CoverImage是该字段的名称。