sitecore - 在 Sitecore 中使用 ItemRendering 将参数传递给渲染

标签 sitecore rendering

我有一个将其数据源称为子级的渲染。每个子项都有一个附加在渲染字段中的渲染。
我在打电话

@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/

相关文章:

sitecore - 创建项目后重命名语言

iphone - 使用 SVGKit 加载 SVG 文件

swift - Metal 渲染奇怪的较暗纹理,即使使用 [MTKTextureLoader.Option.SRGB : false]?

ruby-on-rails - 是什么导致了这个错误? ActionView::Template::Error: ActionController::Metal#session 委托(delegate)给@_request.session,但@_request 为零

sitecore - Glass Mapper 数据源和当前项目

Sitecore:以编程方式删除顶部的页面编辑器工具栏

sitecore - 在 sitecore 中,我创建并发布 Web 表单后,它没有出现在网站中

css - webkit 字体平滑 : suddenly different results in chrome and safari

asp.net - 在窗口调整大小或在选项卡之间切换之前,IE7 不会呈现页面的一部分

sitecore - 删除 Sitecore 中的所有引荐来源项目