在sitecore视图渲染中传递玻璃模型

时间:2016-11-10 11:05:32

标签: c# asp.net-mvc sitecore glass-mapper sitecore8.1

我们有两个继承自不同Glass模型的玻璃视图,两者都可以单独使用。

现在,我们想要将一个视图插入另一个视图。所以我尝试使用以下代码:

var model = new SitecoreContext().GetItem<IOurGlassModel>(path);
if (model != null)
{
    @Html.Sitecore().ViewRendering("/Views/path/Banner.cshtml", new { Model = model })
}

最终出现以下错误消息:

  

&#39; /&#39;中的服务器错误应用。无法找到包含的项目   模型定义。模型路径:Castle.Proxies.IOurGlassModelProxy_1

如果您需要完整的堆栈跟踪,请告诉我。

任何建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

使用此insted:

@Html.Partial("/Views/path/Banner.cshtml", model)

重点是@ Html.Sitecore()。ViewRendering将重新调用Sitecore管道并从乞讨中渲染您的组件。另一方面,使用@ Html.Partial将使用相同的执行渲染局部视图。

查看此问题,了解有关两种方法之间差异的更多详细信息:Sitecore View Rendering and Controller Rendering Helper