2016-11-10 5 views
1

異なるGlassモデルから継承された2つのガラスビューがあり、どちらも素晴らしい作品です。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」、モデル)を使用しようとすることができ、それ@AhmadHarb –

+0

感謝:2つの方法の間の違いの詳細については、この質問が

チェックうまくいきましたが、それをサイト内ビューのレンダリングで動作させる方法がありますか?上記のエラーが発生した理由を理解していますか? –

+0

私は答えを投稿し、それがなぜ機能するのですか。 –

答えて

1

使用これはinsted:。

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

をポイントは、@ Html.Sitecore()であるViewRenderingは、サイトコアのパイプラインを再起動すると物乞いからコンポーネントをレンダリングします。反対側では、@ Html.Partialを使用すると、同じ実行を使用して部分ビューがレンダリングされます。 Sitecore View Rendering and Controller Rendering Helper

関連する問題