1

1 つのビューで 2 つのモデルを使用したい。これが私のコードです:

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: 'donemProje.Models.Users' には 'GetEnumerator' のパブリック定義が含まれていないため、foreach ステートメントは 'donemProje.Models.Users' 型の変数に対して操作できません

int この行

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

4

3 に答える 3

0

ビュー内のモデルは @model mainmodel である必要があります

于 2012-04-27T04:00:31.243 に答える
0

@model IEnumrableまたはあなたが試しました@model IeEnumrable<mainmodel>か?メインモデルよりも試した場合@model IEnumrable<mainmodel>、ユーザーと管理者のリストが含まれています。しかし、あなたの質問から私が理解していることは、以下の言葉があなたを助けると思います.

@model mainmodelforeach ループを使用して mainmodel を反復処理することができます。

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

管理者を反復処理する場合は、管理者にとっても同じことです。そうでなければただ使う@Model.Admin.id

于 2012-04-27T04:34:55.747 に答える
0

1 つのビューで 2 つのモデルを使用する場合は、ViewModels (ビューで使用される他のクラスで構成されるクラス) を使用する必要があります。

于 2012-04-27T06:16:24.247 に答える