1

我想在一个视图中使用两个模型。这是我的代码:

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>

我能做些什么?

编辑——我在索引视图中尝试这个

@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”的公共定义

诠释这一行

第 34 行:@foreach (var item in Model.Users)

4

3 回答 3

0

@model IEnumrable or you tried @model IeEnumrable<mainmodel> ? if you tried @model IEnumrable<mainmodel> than mainmodel have list of users and admin in it. but what i understand from your question i think the below words will help you.

You can try @model mainmodel and you can iterate through mainmodel using foreach loop.

foreach(var user in Model.Users)
{
  // you code goes here..
} 

and same thing for the admin if want to iterate through admin. else just use @Model.Admin.id

于 2012-04-27T04:34:55.747 回答
0

您在视图中的模型应该是 @model mainmodel

于 2012-04-27T04:00:31.243 回答
0

如果要在一个视图中使用两个模型,则应使用 ViewModels(由视图中使用的其他类组成的类)

于 2012-04-27T06:16:24.247 回答