我的模型是这样的
namespace CustomerBook.Models
{
public class CustomerModels
{
public string fname { set; get; }
public string lname { set; get; }
public string city { set; get; }
public List<CustomerModels> lst;
public List<CustomerModels> getData()
{
string path = @"somepath\MvcApplication13\\Book1.xlsx";
string excelConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;";
OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);
OleDbCommand ocmd = new OleDbCommand("select * from [Sheet1$]", excelConnection);
excelConnection.Open();
OleDbDataReader odr = ocmd.ExecuteReader();
lst = new List<CustomerModels>();
CustomerModels modl;
while (odr.Read())
{
modl = new CustomerModels();
modl.fname =valid(odr, 0);
modl.lname = valid(odr, 1);
modl.city = valid(odr, 2);
lst.Add(modl);
}
excelConnection.Close();
return lst;
}
protected string valid(OleDbDataReader myreader, int stval)
{
//if any columns are found null then they are replaced by zero
object val = myreader[stval];
if (object.ReferenceEquals(val, DBNull.Value))
{
return Convert.ToString(0);
}
else
{
return val.ToString();
}
}
}
}
我的控制器是
using System.Linq;
using System.Web;
using System.Web.Mvc;
using CustomerBook.Models;
namespace CustomerBook.Controllers
{
public class LoadCustomerAndDisplayController : Controller
{
//
// GET: /LoadCustomerAndDisplay/
public ActionResult Index()
{
CustomerModels objCustomer = new CustomerModels();
var dataval = objCustomer.getData();
return View(dataval);
}
}
}
生成的视图是
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<CustomerBook.Models.CustomerModels>" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Index</title>
</head>
<body>
<div>
hhiiiiiiiiiiiiii<br />
<%=Model.fname %>
<%=Model.lname %>
<%=Model.city %>
</div>
</body>
</html>
问题是
<%=Model.fname %>
<%=Model.lname %>
<%=Model.city %>
没有给我任何输出...我通过调试检查 dataval 值...它持有该值.........错误是
传入字典的模型项的类型为“System.Collections.Generic.List`1[CustomerBook.Models.CustomerModels]”,但此字典需要“CustomerBook.Models.CustomerModels”类型的模型项。
请告诉我哪里错了