在Sitecore中使用ItemRendering将参数传递到渲染
我有一个调用其数据源子级的呈现。每个子项都在“渲染”字段中附加了一个渲染。 我打电话来在Sitecore中使用ItemRendering将参数传递到渲染,sitecore,rendering,Sitecore,Rendering,我有一个调用其数据源子级的呈现。每个子项都在“渲染”字段中附加了一个渲染。 我打电话来 @Html.Sitecore().ItemRendering(item) 这很有效 但是,我想将一些参数传递给孩子的渲染,所以我尝试了以下代码 @Html.Sitecore().ItemRendering(item, new { Parameters = "active=1" }) 但是当我调用@Html.Sitecore().CurrentRendering.parameters[“active”] 所
@Html.Sitecore().ItemRendering(item)
这很有效
但是,我想将一些参数传递给孩子的渲染,所以我尝试了以下代码
@Html.Sitecore().ItemRendering(item, new { Parameters = "active=1" })
但是当我调用@Html.Sitecore().CurrentRendering.parameters[“active”]
所以我尝试了@Html.Sitecore().ItemRendering(item,new{Active=1})
。我在儿童渲染中再次调用它,但仍然没有运气
是否有方法使用@Html.Sitecore().ItemRendering()将参数传递给子级
在项目的渲染中,可以访问viewdata,如下所示:
(ViewData["active"] != null && int.Parse(ViewData["active"].ToString()) == 1)
itemrrendering
方法似乎无法正确处理属性(或者正如人们所期望的那样!)
解决方法是使用@Html.Sitecore().Rendering()
。您可以使用与ItemRendering方法相同的方法来解决以下问题。请注意,您应该设置数据源项(或其模板标准值)的“渲染器”字段,而不是您提到的“渲染”字段:
@Html.Sitecore().Rendering(item["__Renderers"], new {Datasource = item.ID, Message = "Hello World"})
在子渲染中,使用属性
属性,而不是参数
:
@Html.Sitecore().CurrentRendering.Properties["Message"]
尝试在视图中调用Model.Rendering.Properties[“Active”]
。我必须在ItemRendering中将其作为new{Parameters=“Active=1”}或new{Active=1}传递吗?它应该是new{Active=1}
,但我在MVC yetGreat catch中没有使用参数静态绑定,只是看到了你的博客文章。
@Html.Sitecore().CurrentRendering.Properties["Message"]