我试图在我的索引页面中添加第二个模型(包含2个部分视图作为双列页面)"使用ViewModel传递多个模型"本页的一部分:http://www.codeproject.com/Articles/687061/Using-Multiple-Models-in-a-View-in-ASP-NET-MVC-M
我创建了一个模型来容纳另外两个名为MasterModel的模型,这是我希望存储其他模型的地方
public class MasterModel
{
public UserInfo UserInfo { get; set; }
public LogDataServerDBEntities LogDataServerDBEntities { get; set; }
}
在我的索引中,_NewRequest _ExistingRequest页面我改变了模型
@model IEnumerable<TMTMonitorandCompare.Models.UserInfo>
到
@model IEnumerable<TMTMonitorandCompare.Models.MasterModel>
并将我的数据显示更改为&#34; Model.UserInfo&#34;
@if (Model.UserInfo != null)
{
foreach (var item in Model.UserInfo)
{
<tr>
<td>
<input type="checkbox" class="checks">
</td>
<td class="modal2row" data-toggle="modal" data-id="1" data-target="#basicModal3">
@Html.DisplayFor(modelItem => item.CreationDateTime)
</td>
<td class="modal2row" data-toggle="modal" data-id="1" data-target="#basicModal3">
@Html.DisplayFor(modelItem => item.AppModeId)
</td>
</tr>
}
}
ControllerMethod:
[HttpGet]
public ActionResult Index(string filtername)
{
var filterresults = from m in db.UserInfoes
select m;
filterresults = filterresults.Where(x => x.UserCode.ToString().Contains(filtername)).OrderBy(x => x.UserCode);
CheckDownloaded();
PopulateViewbag();
return View(filterresults);
}
现在我才收到错误:
错误1&#39; System.Collections.Generic.IEnumerable&#39;不包含&#39; UserInfo&#39;的定义没有扩展方法&#39; UserInfo&#39;接受类型为'System.Collections.Generic.IEnumerable&#39;的第一个参数。可以找到(你错过了使用指令或程序集引用吗?)
任何人都可以向我解释我在哪里/我的错误?
答案 0 :(得分:3)
UserInfo
是MasterModel
中的对象(不是集合)。我怀疑你想要的是什么
public class MasterModel
{
public List<UserInfo> UserInfo { get; set; }
....
}
并在主视图中
@model TMTMonitorandCompare.Models.MasterModel
然后你可以使用
foreach (var item in Model.UserInfo)
{
....
修改强>
根据OP提供的其他信息,需要更改操作方法以匹配模型
[HttpGet]
public ActionResult Index(string filtername)
{
var filterresults = from m in db.UserInfoes select m;
filterresults = filterresults.Where(x => x.UserCode.ToString().Contains(filtername)).OrderBy(x => x.UserCode);
....
MasterModel model = new MasterModel();
model.UserInfo = filterresults;
// set other properties of model as required
return View(model);
}