Sitecore 7.1 MVC渲染助手传递变量

时间:2015-08-04 08:28:48

标签: razor sitecore rendering sitecore-mvc sitecore7.1

我正在尝试将控制器返回的视图静态添加到我的视图中。在标准MVC中,我会做类似下面的事情。

@{Html.RenderAction("Product", "ProductListing", new {productId = product.ItemId});}

这是我的控制器

[System.Web.Http.HttpGet]
public ActionResult Product(ID productId)
{
 var product= _productRepositorty.GetProduct(productId);

 return View("~/Views/Product/ProductDetails.cshtml", product);
}

所以使用Sitecore渲染助手我有下面的内容,其中ID是Sitecore中的渲染项目,指向上面的控制器和操作。但是我无法将productId作为参数传递给Product操作(productId始终为null)。这是将变量传递给另一个动作的正确方法吗?

@Html.Sitecore().Rendering("{AA6C2188-1897-4577-BE0A-25DD2BBA8AF1}", new { productId = product.ItemId })

1 个答案:

答案 0 :(得分:4)

据我所知,不支持此语法传递参数以插入操作。

您指定的参数将放入rendering.Properties集合。

是否可以重写动作签名并使用里面的RenderingContext.Current.Rendering.Properties来读取值?