これは簡単なことですが、理解できません:(
次のエラーが表示されます。
ディクショナリに渡されたモデル項目は、'System.Collections.Generic.List 1[<>f__AnonymousType3
5[System.String,System.String,System.String,System.Nullable 1[System.DateTime],System.String]]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1[MvcApplication3.Order]'' 型です。
これが私のコントローラーのコードです:
var query = from o in db.Orders
join c in db.Customers on o.CustomerID equals c.CustomerID
where o.CustomerID == q
select new
{
o.CustomerID,
o.ShipAddress,
o.ShipCity,
o.ShippedDate,
c.ContactName
};
/*
var query = from o in db.Orders
where o.CustomerID == q
select o;
*/
return View(query.ToList());
これが私の見解です:
@model IEnumerable<MvcApplication3.Order>
@{
ViewBag.Title = "Search";
}
<h2>Search</h2>
Your search results contains @Model.Count() rows
<table>
<tr>
<td>Customer ID</td>
<td>Address</td>
<td>City</td>
<td>Shipped to Date</td>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@item.CustomerID</td>
<td>@item.ShipAddress</td>
<td>@item.ShipCity</td>
<td>@item.ShippedDate</td>
<td>@item.Customer.ContactName</td>
</tr>
}
</table>
ビューのセットアップ方法と関係があると思います。return View() を削除し、コントローラーからのデータをループするだけで、期待どおりの結果が得られます。どんな助けでも大歓迎です。
前もって感謝します!