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>
} 

`

当我尝试运行应用程序时出现以下错误

“传入字典的模型项为空,但此字典需要 'KCMSWebClient.MachineManagementService.NtegraSearchCriteria' 类型的非空模型项。”

有什么帮助吗????谢谢...

4

1 回答 1

2

错误信息非常清楚。您需要将KCMSWebClient.MachineManagementService.NtegraSearchCriteria类的一个实例传递给您的部分。这可以使用RenderPartial助手的第二个参数来完成:

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

如果您不使用第二个参数,该RenderPartial方法只会传递当前视图模型 ( @Model)。而且由于我在 Razor 页面的顶部看不到任何@model指令,因此我假设您的视图没有强类型化到任何模型,并且当您从控制器操作提供此视图时,您没有将任何模型传递给它。

于 2012-06-19T09:04:44.580 回答