1

さまざまなタイプを持つことができるモデルを使用するページがあります(アクションとコントローラーによって異なります)。私の問題は、次のようにモデルからパラメーターを取得するパーシャルを使用したいときに始まります。

@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

どうすれば解決できますか?

どんな助けでも大歓迎です。

4

1 に答える 1