さまざまなタイプを持つことができるモデルを使用するページがあります(アクションとコントローラーによって異なります)。私の問題は、次のようにモデルからパラメーターを取得するパーシャルを使用したいときに始まります。
@Html.Partial("~/Views/Components/SubMenu.cshtml", MyProject.Web.MenuHelper.GetSubMenu(Model.field1))
しかし、モデルのタイプを宣言しないと、次のようなエラーが発生しますPartial can not use dynamic values
。だから私はそれを解決する考えがあります:
@if (Model.GetType() == typeof(ContentPage))
{
@model ContentPage
@Html.Partial("~/Views/Components/SubMenu.cshtml", MyProject.Web.MenuHelper.GetSubMenu(Model.field1))
}
else if (Model.GetType() == typeof(Data.Models.Directory))
{
@model Directories
@Html.Partial("~/Views/Components/SubMenu.cshtml", MyProject.Web.MenuHelper.GetSubMenu(Model.field2))
}
しかし、次のようなエラーがありますContentPage.field2 no exist
。
どうすれば解決できますか?
どんな助けでも大歓迎です。