配列リストに問題があり、ビューで読み取ることができません
ここにコードがあります
DB: ここでは、データベースからデータを読み取ります
ArrayList result = new ArrayList();
MySqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
ArrayList temp = new ArrayList();
temp.Add(reader["Voornaam"].ToString());
temp.Add(reader["Tussenvoegsel"].ToString());
temp.Add(reader["Achternaam"].ToString());
temp.Add(reader["Adres"].ToString());
temp.Add(reader["Postcode"].ToString());
temp.Add(reader["Plaats"].ToString());
temp.Add(reader["Land"].ToString());
temp.Add(reader["Geboortedatum"].ToString());
temp.Add(reader["Telefoonnummer"].ToString());
temp.Add(reader["Mobielnummer"].ToString());
temp.Add(reader["Email"].ToString());
result.Add(temp);
}
reader.Close();
}
else
{
}
return result;
コントローラー: arraylist gebruikers を作成し、それをビューに送信します
DB dbase = new DB();
ArrayList Gebruikers = dbase.getGebruikerALL(Session["Bid"].ToString());
return View(Gebruikers);
View: foreach で配列を読み取る
@model IEnumerable<EventRentalSystem.Models.ProfielModels>
@foreach (var item in Model)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.Gebruikersnaam)</td>
<td>@Html.DisplayFor(modelItem => item.Voornaam)</td>
<td>@Html.DisplayFor(modelItem => item.Tussenvoegsel)</td>
<td>@Html.DisplayFor(modelItem => item.Achternaam)</td>
<td>@Html.DisplayFor(modelItem => item.Adres)</td>
<td>@Html.DisplayFor(modelItem => item.Postcode)</td>
<td>@Html.DisplayFor(modelItem => item.Plaats)</td>
<td>@Html.DisplayFor(modelItem => item.Land)</td>
<td>@Html.DisplayFor(modelItem => item.Geboortedatum)</td>
<td>@Html.DisplayFor(modelItem => item.Telefoonnummer)</td>
<td>@Html.DisplayFor(modelItem => item.Mobielnummer)</td>
<td>@Html.DisplayFor(modelItem => item.Email)</td>
<td><a class="edit" href="javascript:;">Bewerk</a></td>
<td><a class="delete" href="javascript:;">Verwijder</a></td>
</tr>
}
それでもエラーが発生します:
ディクショナリに渡されたモデル アイテムのタイプは 'System.Collections.ArrayList' ですが、このディクショナリにはタイプ 'System.Collections.Generic.IEnumerable`1[EventRentalSystem.Models.ProfielModels]' のモデル アイテムが必要です。
ビューで配列を読み取る方法を知っている人はいますか?