初めての MVC アプリケーションに取り組んでいて、エラーが発生しました。
データベースにクエリを実行し、ビュー ページに結果を表示しようとしています。
ここにコードがあります
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 listingTable" +
" Where ForeclosureYN = 'Y'" +
" AND Area <> ''" +
" Group By Area";
myConn = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
myCmd = myConn.CreateCommand();
myCmd.CommandText = mySql;
myConn.Open();
foreclosureList currentList = new foreclosureList(); // making an instance foreclosureList class and then adding the results from the query.
myReader = myCmd.ExecuteReader();
while (myReader.Read())
{
currentList.Area = (string)myReader["Area"];
currentList.NumberOfListings = (int)myReader["NumberOfListings"];
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;
}
}
しかし、次のようなエラーが表示されます: System.IndexOutOfRangeException: NumberOfListings
また、ビュー ページで、このデータにアクセスするには、1 行目に次のコードを使用するのが正しいですか?
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Foreclosure.Models.foreclosureList>" %>