Car*_*mas 5 rendering sitecore
我有一个渲染,称其数据源为子.每个子项都在渲染字段中附加了一个渲染.我在打电话
@Html.Sitecore().ItemRendering(item)
Run Code Online (Sandbox Code Playgroud)
哪个有效.
但是我想将一些参数传递给子渲染,所以我尝试了下面的代码;
@Html.Sitecore().ItemRendering(item, new { Parameters = "active=1" })
Run Code Online (Sandbox Code Playgroud)
但是当我调用时,参数不会传递给子渲染 @Html.Sitecore().CurrentRendering.Parameters["active"]
所以我试过了@Html.Sitecore().ItemRendering(item, new { Active = 1 }).我在孩子渲染中再次调用它,但仍然没有运气.
有没有办法将参数传递给子进程使用 @Html.Sitecore().ItemRendering()
该ItemRendering方法似乎没有正确处理属性(或正如人们所期望的那样!).
解决方法是改为使用@Html.Sitecore().Rendering().您可以使用与ItemRendering方法相同的方式使用此方法,并使用下面的解决方法.请注意,您应该设置数据源项(或其模板标准值)的"Renderers"字段,而不是您提到的"Renderings"字段:
@Html.Sitecore().Rendering(item["__Renderers"], new {Datasource = item.ID, Message = "Hello World"})
Run Code Online (Sandbox Code Playgroud)
在子渲染中,使用Properties属性,而不是Parameters:
@Html.Sitecore().CurrentRendering.Properties["Message"]
Run Code Online (Sandbox Code Playgroud)
var viewData = new ViewDataDictionary();
viewData["active"] = "1";
Html.Sitecore().ItemRendering(ItemToRender, viewData);
Run Code Online (Sandbox Code Playgroud)
在项目的渲染中,您可以像这样访问视图数据:
(ViewData["active"] != null && int.Parse(ViewData["active"].ToString()) == 1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3162 次 |
| 最近记录: |