2016-11-10 34 views
1

我們有兩個從不同玻璃模型繼承的玻璃視圖,兩個視圖都很好地單獨工作。在sitecore視圖渲染中傳遞玻璃模型

現在,我們要插入一個視圖到另一個視圖。所以,我嘗試使用下面的代碼:

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

這結束了以下錯誤消息:

服務器錯誤「/」應用。找不到包含 模型定義的項目。模型路徑:Castle.Proxies.IOurGlassModelProxy_1

讓我知道你是否需要完整的堆棧跟蹤。

任何建議,將不勝感激。

+1

可以嘗試使用這個Html.Partial(「/查看/路/ Banner.cshtml」,模型) –

+0

謝謝@AhmadHarb它沒有工作,但有沒有辦法使它與sitecore視圖呈現?並明白爲什麼會出現上述錯誤? –

+0

我會發布答案,爲什麼它的作品。 –

回答

1

使用此insted的:

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

點是@ Html.Sitecore()ViewRendering將重新調用Sitecore的管道和從乞討使您的組件。另一方面,使用@ Html.Partial將使用相同的執行來渲染局部視圖。

檢查這個問題,有關這兩種方法之間的區別更多的細節:Sitecore View Rendering and Controller Rendering Helper