我有一个将其数据源称为子级的渲染。每个子项都有一个附加在渲染字段中的渲染。
我在打电话
@Html.Sitecore().ItemRendering(item)
哪个有效。
但是我想将一些参数传递给 child 的渲染,所以我尝试了以下代码;
@Html.Sitecore().ItemRendering(item, new { Parameters = "active=1" })
但是当我调用
@Html.Sitecore().CurrentRendering.Parameters["active"]
时,参数不会传递给子渲染所以我尝试了
@Html.Sitecore().ItemRendering(item, new { Active = 1 })
.我在子渲染中再次调用它,但仍然没有运气。有没有办法使用
@Html.Sitecore().ItemRendering()
将参数传递给 child
最佳答案
ItemRendering
方法似乎没有正确处理属性(或者正如人们所期望的那样!)。
解决方法是使用 @Html.Sitecore().Rendering()
反而。您可以按照与 ItemRendering 方法相同的方式使用它,并具有以下变通方法。请注意,您应该设置数据源项(或其模板标准值)的“渲染器”字段,而不是您提到的“渲染”字段:
@Html.Sitecore().Rendering(item["__Renderers"], new {Datasource = item.ID, Message = "Hello World"})
在子渲染中,使用
Properties
属性(property),而不是 Parameters
:@Html.Sitecore().CurrentRendering.Properties["Message"]
关于sitecore - 在 Sitecore 中使用 ItemRendering 将参数传递给渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30866425/