2

レイアウト ページがあり、その上にビュー レンダリングを静的に配置しようとしています。また、このようにデータソースを渡す必要があります

@Html.Sitecore().ViewRendering("/Views/Renderings/Components/LightboxModal.cshtml", new { DataSource = "/sitecore/content/Common Content/Medicare Disclaimer" });

しかし、このエラーが発生しています。

ディクショナリに渡されたモデル アイテムは「Sitecore.Mvc.Presentation.RenderingModel」タイプですが、このディクショナリには「Web.Data.Models.LightboxModel」タイプのモデル アイテムが必要です。

誰でもこれに対する解決策はありますか?

ありがとう

4

1 に答える 1

5

cshtml でモデルとして設定された Humana.Hri.Wellness.Web.Data.Models.LightboxModel があるように見えますが、ViewRendering サイトコア アイテムのモデル フィールドは空です。

コンテンツ ツリーの /layouts/models の下にモデル アイテムを作成し、Humana.Hri.Wellness.Web.Data.Models.LightboxModel タイプにマップする必要があります。次に、ViewRendering アイテムでそのモデル アイテムにリンクします。

このようにして、正しいタイプを ViewRendering に渡します。

モデル フィールドが空のままの場合、Sitecore は ViewRendering のデフォルト モデルが RenderingModel (デフォルトのサイトコア モデル) であると想定します。

于 2014-07-18T01:42:02.330 に答える