- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 EPiServer 的初学者。我们使用 EPiServer 版本 9.12。EPiServer.Core.ContentArea 过去有一个现在已过时的内容列表,请参阅:http://world.episerver.com/documentation/Class-library/?documentId=cms/7.5/284B326A
image http://jweschenfelder.de/download/Untitled.png
Contents 列表在过去具有优势,您可以读取 block 的名称,因为它读取了 ContentArea 的全部内容。检索名称会很棒,因为如果您在 CMS 中创建新 block ,则可以在 CMS 中配置它。如果我改用现在建议的 Items 集合,我将无法读取包含 Link items 集合的 block 的名称,然后我只能读取 block 内的 Link items 集合。
我看过这个例子:
IContentLoader contentLoader = ServiceLocator.Current.GetInstance< IContentLoader >();
OnSiteLinkBlock itemBlock = contentLoader.Get(item.ContentLink, new LoaderOptions() { LanguageLoaderOption.MasterLanguage() });
我可以编辑 OnSiteLinkBlock,但其他属性仍然为空,并且未由 EPiServer 的 ContentLoader 填充(IContentLoader 是 EPiServer 的接口(interface))。
有关类层次结构的更多信息:
- [AvailableContentTypes(Availability = Availability.None)]<br/> public class BlockData : ContentData, IReadOnly< BlockData >, IReadOnly
(在 EPiServer.Core 中)
- public abstract class BlockBase : BlockData
(BlockBase是一个自己的类)
- public class OnSiteLinkBlock : BlockBase
(OnSiteLinkBlock 是一个自己的类)
有人知道这里的解决方案吗?如何读取 ContentArea 的更多属性?或者是否存在 ContentArea 的替代方案?非常感谢!
最佳答案
通常您使用 Items
或 FilteredItems
属性从 ContentAreas 读取内容。他们返回一个可枚举的 ContentAreaItem的。
使用 IContentLoader
解析 IContent 实例并使用 ContentLink
提供给它
var loader = ServiceLocator.Current.GetInstance<IContentLoader>();
// contentarea is called UpperArea in the example
var icontentItems = currentPage.UpperArea
.FilteredItems
.Select(x => loader.Get<IContent>(x.ContentLink));
// example render in razor
foreach (var icontentItem in icontentItems)
{
<h2>@icontentItem.Name</h2>
}
关于c# - EPiServer 9 : Is there any real alternative for EPiServer ContentArea Contents?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41491464/
我使用 Visual Studio 创建了一个 EPIServer CMS 站点。我可以使用编辑模式访问该网站。我想在该网站上添加一些图像。但是,当我尝试使用上传选项上传图像时,它显示失败消息。您知道
我在 EPIServer 中创建了一个包含 4 个页面的 CMS 站点。现在我想将 id '5' 的页面设置为起始页面。在 episerver.config 部分中,我没有找到 sitesetting
除了 episerver.config 之外,还有其他地方可以找到网站构建的 EPiServer 版本(“EPiServer 6”/“EPiServer 6 R2”)吗? 通常我会查看 episerv
我在 EPIServer 中创建了一个包含 4 个页面的 CMS 站点。现在我想将 ID 为“5”的页面设置为起始页。在 episerver.config 部分我没有找到 sitesettings 部
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 8 年前。 Improve
在映射到 DDS 的现有对象上添加索引的最佳方法是什么?数据库中已经存储了数十万个对象。 是否就像将 [EPiServerDataIndex] 属性添加到我现有的类、重新编译和重新部署站点一样简单?
当在 EPiServer 中通过管理模式创建属性和页面类型时,很容易理解如何写入数据库以更新网站的配置。但是,使用页面类型构建器,如果它像编写一样简单...... [PageTypeProperty]
如何获取在 CMS 中设置的 MVC View 中某个块的名称? 我猜应该是@Model.Name但我找不到。 最佳答案 您必须将块实例转换为 IContent访问 Name属性(property)。
在 EPiServer 7 中,我遇到了 2 个不同的接口(interface)来获取 EPiServer 存储库 - IContentRepository 和 IContentLoader。 例子:
我们在 EPiServer 6r2 中建立了一个新的“访客组”,我们想在 中添加一个 css 类。如果用户在该组中,则网站的标记,因此不同的组会获得不同的网站设计。我试图查明当前访问者是否在母版页文
我是 EPiServer 的初学者。我们使用 EPiServer 版本 9.12。EPiServer.Core.ContentArea 过去有一个现在已过时的内容列表,请参阅:http://world
我在 EPiServer 6 R2 中看到了一些用于仪表板的定制小工具和一个管理模式插件,可以让您重建搜索索引。 EPiServer 7 中有哪些选项? 是否有任何官方插件/小工具或其他一些我尚未发现
恼人的是,Episerver 中的 MediaData 类没有任何基本属性,如源 URL、替代文本等。我正在尝试实现一个类以继承自 MediaData 并为特定类型的媒体 Assets 提供特定属
我有两个不同页面类型的列表 - NewsItems 和 PressReleases。它们每个都显示在一个列表中,并带有指向各个项目的链接。 现在我想将新闻发布项目包含到新闻列表中,并使用新闻项目的样式
我们最近部署了一个基于 EpiServer CMS 6 和 Relate Plus 2 的网站。 一切正常,但 CMS 有一个奇怪的问题: 当我们使用“管理员”帐户登录时,该帐户是管理员、社区管理员、
我正在研究 EPiserver CMS6。我的计划作业没有自动运行。当我尝试手动运行时,它们工作正常。 我缺少任何配置吗? 最佳答案 检查数据库,在表 tblScheduledItem 中。有时,作业
我一直在加强 EPiServer 7 MVC 并浏览了 Joel Abrahamsson 的 Alloy MVC Template .在查看了自定义的预览 Controller 后,它可以以 4 种不
我在管理网站面板中进行了以下设置 General Url is set to alloy.com alloy.no is set for no culture alloy.se is set for
我在 www.episerver.com 或 world.episerver.com 上都找不到任何相关信息,有人知道吗? 最佳答案 据我所知,Episerver 使用两种机制来实现线程安全: 锁定(
我有一个包含一些 block 的内容区域,这些 block 的某些属性必须使用来自 SQL 查询的数据进行初始化,所以在 Controller 中我有这样的东西: foreach (ObjectTyp
我是一名优秀的程序员,十分优秀!