我想在一个视图中使用两个模型。这是我的代码:
public class Users {
public int id { get; set; }
public string adSoyad { get; set; }
public string email { get; set; }
public int puan { get; set; }
}
public class admin {
public int id { get; set; }
public string name { get; set; }
}
public class mainmodel {
public Users Users { get; set; }
public admin admin { get; set; }
}
我可以用它来删除,编辑和创建视图。但是我在索引视图中遇到错误:
@model IEnumerable<donemProje.Models.mainmodel>
我该怎么办?
Edit-- 我在索引视图中尝试这个
@model donemProje.Models.mainmodel
@foreach (var item in Model.Users)
{
<tr>
<td>
@Html.DisplayFor(modelItem =>item.adSoyad)
</td>
<td>
@Html.DisplayFor(modelItem => item.email)
并收到此错误
编译器错误消息:CS1579:foreach语句无法对'donemProje.Models.Users'类型的变量进行操作,因为'donemProje.Models.Users'不包含'GetEnumerator'的公共定义
int this line
第34行:@foreach (var item in Model.Users)
答案 0 :(得分:0)
视图中的模型应为@model mainmodel
答案 1 :(得分:0)
@model IEnumrable
或您尝试@model IeEnumrable<mainmodel>
?如果你试过@model IEnumrable<mainmodel>
比mainmodel有用户列表和管理员。但我从你的问题中理解我认为下面的话会对你有帮助。
你可以尝试@model mainmodel
,你可以使用foreach循环遍历mainmodel。
foreach(var user in Model.Users)
{
// you code goes here..
}
如果想要通过管理员迭代,管理员也是如此。否则只需使用@Model.Admin.id
答案 2 :(得分:0)
如果要在一个视图中使用两个模型,则应使用ViewModels(一个由视图中使用的其他类组成的类)