PsProductDataContext db = new PsProductDataContext();
public List<PsProduct> StaticReport()
{
return (from c in db.PsProduct
select c.ShCompanyName).ToList();
}
这段代码系统报 无法将类型“system.collection .generic.list<string>隐士转换为system.collection .generic.list<qdrkProductMvc.Models.PsProduct>,我把代码改为
public IQueryable<PsProduct> StaticReport()
{
return from c in db.PsProduct
select c.ShCompanyName;
}
还是报相同的错,请高手指教;
我用viewdata["ss"]=(... select c.ShCompanyName).ToList().在view中用foreach (List<Object> item in ViewData["ti"] as List<Object>)进行遍历,确报了未将对象运用到实例的错。迷糊。
return (from c in db.PsProduct
select c.ShCompanyName).ToList();
既然是select,返回的自然是被select出来的字段,因此是ShCompanyName,这个字段是string型的,所以return的是List<string>
viewdata["ss"]=(... select c.ShCompanyName).ToList()
这句以后,viewdata["ss"]里存的是一个List<string>
List<string>不是List<object>,彼此之间不能转型
List<stirng> list = new List<string>();
List<object> objList = list as List<object>();
以上2句得到的objList是null,所以有未将对象运用到实例的异常
试下这样 public List<PsProduct> StaticReport()
{
return (from c in db.PsProduct
select c).ToList();
}
或public List<string> StaticReport()
{
return (from c in db.PsProduct
select c.ShCompanyName).ToList();
}
return (from c in db.PsProduct select c.ShCompanyName).ToList();
返回的是 ShCompanyName 的 List
上次不是跟你说过的嘛,你要不就直接返回string类型,要不就再定义一个类型区返回,你要返回select出来的那个东西就是一个匿名类型,是不可以转型到你需要的类型的,明白了吗?
我晕死,楼上说的这么明白,而且还说上次跟你说过了你还不懂么?