モデルにこのクラスがあります
namespace Foreclosure.Models
{
public class foreclosureList
{
public string Area { get; set; }
public int NumberOfListings { get; set; }
}
public class RETS_ListingsModel
{
public RETS_ListingsModel(){} // empty COnstructor
public static IEnumerable<foreclosureList> getForeclosureList() // making an IEnumerable list to contain the forclosure data
{
SqlConnection myConn;
SqlCommand myCmd;
SqlDataReader myReader;
System.Collections.ArrayList aforclosureList = new System.Collections.ArrayList(); // create an array to hold data, later it will be converted to the ienumerable list.
string mySql =
"Select [Area], count (*) as numberListings from RETS_Listings_full" +
" Where ForeclosureYN = 'Y'" +
" AND Area <> ''" +
" Group By Area";
myConn = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
myCmd = myConn.CreateCommand();
myCmd.CommandText = mySql;
myConn.Open();
myReader = myCmd.ExecuteReader();
while (myReader.Read())
{
foreclosureList currentList = new foreclosureList(); // making an instance foreclosureList class and then adding the results from the query.
currentList.Area = (string)myReader["Area"];
currentList.NumberOfListings = (int)myReader["numberListings"];
aforclosureList.Add(currentList); // adding the class object to the array
}
myReader.Close();
myConn.Close();
IEnumerable<foreclosureList> iforeclosureList = aforclosureList.Cast<foreclosureList>(); //converting the array back to the ienumerable list
return iforeclosureList;
}
}
}
そして、私のビューページには
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Foreclosure.Models.foreclosureList>" %>
リストを表示するコードは次のとおりです。
<ul>
<% foreach ( var moo in Model)
{ %>
<li><%: moo.Area %></li>
<% } %>
</ul>
しかし、エラーが発生します:CS1579:「Foreclosure.Models.foreclosureList」には「GetEnumerator」のパブリック定義が含まれていないため、foreach ステートメントは「Foreclosure.Models.foreclosureList」型の変数に対して操作できません