【发布时间】:2018-02-12 13:40:48
【问题描述】:
我需要在我的页面标题中将几个元标记值设置为在博客文章自定义字段中设置的值。
如何从头部访问博客项目视图模型?
我为我的自定义头部创建了一个单独的 MVC 视图 sn-p 并在我的模板布局中引用它,这很有效。
试过
我通过 Model.Item.Fields.MyFieldName.Fields.Title 之类的引用在我的博客模板中获取了一些相同的自定义字段值。
将同一行添加到头部模板会引发
System.Web.HttpCompileException 几乎没有附加有用的信息。我有点预料到这一点,因为我怀疑博客文章的视图模型只存在于博客小部件的上下文中。
最终我需要在每次更改头 cshtml 文件后重新构建,否则我会收到此错误。鉴于使用 Sitefinity 大约需要 4 分钟的过程(构建 15 秒,3:45 完成 Sitefinity 所做的任何事情,大约需要 4 分钟),这是一件非常可怕的事情。
但是,Model 在此级别为空。
也试过了
根据乐于助人且知识渊博的@Veselin Vasilev,我研究了通过 MetaDataFields 传递数据。我在小部件的管理部分中没有看到这些选项。澄清一下,我正在使用带有自定义视图文件的内置“博客文章”小部件。
但如果可以做到这一点,它让我希望有一种方法可以传递更多数据,即使这需要一些工作。
【问题讨论】:
-
如果使用内置元功能不起作用,请提供更多有关您尝试完成的任务的上下文,代码示例也有帮助/
-
@JonR。不幸的是,我没有任何其他代码示例。我在 CMS 的博客中设置了一个自定义字段,然后如上所述在我的 MVC 视图中访问它。现在我正在尝试获取 MVC 模板中的那些自定义字段(特别是页面的头部),但它似乎还没有填充该模型,或者至少我找不到访问它的位置。