我们有两个继承自不同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
如果您需要完整的堆栈跟踪,请告诉我。
任何建议将不胜感激。
答案 0 :(得分:1)
使用此insted:
@Html.Partial("/Views/path/Banner.cshtml", model)
重点是@ Html.Sitecore()。ViewRendering将重新调用Sitecore管道并从乞讨中渲染您的组件。另一方面,使用@ Html.Partial将使用相同的执行渲染局部视图。
查看此问题,了解有关两种方法之间差异的更多详细信息:Sitecore View Rendering and Controller Rendering Helper