0

これが私のコードです

@{
    ViewBag.Title = "MachinesManagement";
}
@using (Ajax.BeginForm("MachineList", "MachinesManagement", new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "grd" }))
{

<div id="filterDiv">
@{Html.RenderPartial("/Views/MachinesManagement/MachineFilter.cshtml");}
</div>
<div id="grd">
@{Html.RenderPartial("/Views/MachinesManagement/MachineList.cshtml");}
</div>
} 

`

アプリケーションを実行しようとすると、次のエラーが発生します

「ディクショナリに渡されたモデル アイテムは null ですが、このディクショナリには、タイプ 'KCMSWebClient.MachineManagementService.NtegraSearchCriteria' の非 null モデル アイテムが必要です。」

助けてもらえますか?ありがとう...

4

1 に答える 1

2

エラーメッセージは非常に明確です。KCMSWebClient.MachineManagementService.NtegraSearchCriteriaクラスのインスタンスをパーシャルに渡す必要があります。RenderPartialこれは、ヘルパーの2番目の引数を使用して実行できます。

@{Html.RenderPartial(
    "/Views/MachinesManagement/MachineFilter.cshtml", 
    PASS_AN_INSTANCE_OF_THE_REQUIRED_CLASS_HERE
);}

この2番目の引数を使用しない場合、RenderPartialメソッドは単に現在のビューモデル(@Model)を渡します。また、@modelRazorページの上部にディレクティブが表示されないため、ビューはどのモデルにも強く入力されておらず、コントローラーアクションからこのビューを提供したときに、モデルを渡さなかったと思います。

于 2012-06-19T09:04:44.580 に答える