问题描述
我在episerver 中创建了一个新的块类型,我正在编辑它的相应视图。我希望能够在我的 html 中显示块的 contentid,以便我可以使用 javascript 发挥一些魔法作用。
如何从视图中获取块的 contentid?
我希望能够做到这一点:
<div class="something" data-id="@Model.contentid"></div>
解决方法
您需要将块实例转换为 IContent
,然后使用 @Model.ContentLink.ID
。
所以,例如:
<div class="something" data-id="@(((IContent)Model).ContentLink.ID)"></div>
强制转换的原因是 IContent
接口仅由您的块类型的代理类实现,这就是您不会在 ContentLink
上找到 BlockData
属性的原因直接实例。
如果您对详细信息感兴趣:https://world.episerver.com/Blogs/Johan-Bjornfot/Dates1/2012/11/Shared-blocks--IContent/