コントローラから返されたビューのデータをループしようとすると、「オブジェクト」に「CustomerID」の定義が含まれておらず、「object」タイプの最初の引数を受け入れる拡張メソッド「CustomerID」がないというエラーが発生します。見つけられた"
これが私の見解です
<% using (Html.BeginForm()) {%>
<%foreach (var item in (IEnumerable)Model)
{ %>
<%= Html.Encode(item.CustomerID) %>
<%} %>
<% } %>
コントローラは次のとおりです。
public ActionResult Index()
{
Models.NorthwindDataContext nw = new Models.NorthwindDataContext();
var qry = from ord in nw.Orders
join cust in nw.Customers on ord.CustomerID equals cust.CustomerID
select new Models.OrdersModel
{
CustomerID = ord.CustomerID,
OrderID = ord.OrderID,
OrderDate = ord.OrderDate.Value,
ShipCountry = ord.ShipCountry
};
var ordrs = qry.ToList();
return View(ordrs);
}
これが私のクラスです
public class OrdersModel
{
[Required]
[Display(Name = "OrderID")]
public int OrderID { get; set; }
[Required]
[Display(Name = "OrderDate")]
public DateTime OrderDate { get; set; }
[Required]
[Display(Name = "CustomerID")]
public string CustomerID { get; set; }
[Display(Name = "ShipCountry")]
public string ShipCountry { get; set; }
}