无法将视图中的viewmodel列表传递给局部视图

时间:2014-01-27 06:27:42

标签: c# asp.net-mvc

基本上我有一个视图模型

public class VM_MachineCheckSheet
{        
    public List<checksheet> checksheet;
    public List<MvcApplication2.Models.Machine.machine> machine;
}

我的主要观点

@model MvcApplication2.Models.CheckSheet.VM_MachineCheckSheet

@{
    ViewBag.Title = "MachineCheckSheet";
}

@Html.RenderPartial("_MachineCheckBoxListPartial", Model.machine);

和我的部分视图

@model IEnumerable&ltMvcApplication2.Models.Machine.machine&gt

<div id = "machine_filter" class = "machine_filter")
<table>
    <tr>

我在控制器中填充viewmodel然后将其传递给主视图,然后只将机器传递给部分视图,该部分视图使用IEnumerable&amp; ltmachine&amp; gt

进行强类型化

这是我得到的错误

Compiler Error Message: CS1502: The best overloaded method match for 
'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)
'has some invalid arguments

Line 7:  @Html.RenderPartial("_MachineCheckBoxListPartial", Model.machine);

我不知道为什么局部视图中的机器列表与从视图模型传入的机器列表之间存在类型不匹配的原因。他们是一样的东西。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您需要更改

@Html.RenderPartial("_MachineCheckBoxListPartial", Model.machine);

@{ Html.RenderPartial("_MachineCheckBoxListPartial", Model.machine); }

FOR MORE