我在一个类中有一个列表,我想在另一个类中使用这个列表并将其绑定到gridview中。
在本课程中,我列出了我的名单:
namespace sample_table
{
public class ClassDal
{
public List<phone> GetAll()
{
using (PracticeDBEntities1 context = new PracticeDBEntities1())
{
return context.phone.ToList();
}
}
}
}
在本课程中我想使用它:
namespace sample_table
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ClassDal obj = new ClassDal();
obj.GetAll();
GridView1.DataSource = obj;
GridView1.DataBind();
}
}
}
但是我收到了这个例外:
数据源是无效类型。它必须是IListSource,IEnumerable或IDataSource。
答案 0 :(得分:0)
你需要绑定列表当前你绑定GridView与ClassDAL
显然不是List,方法GetAll()
返回一个List,所以你需要设置 DataSource 的是:
ClassDal obj = new ClassDal();
GridView1.DataSource = obj.GetAll();
或:
ClassDal obj = new ClassDal();
List<phone> list = obj.GetAll();
GridView1.DataSource = list;
答案 1 :(得分:0)
使用ToList()扩展方法将查询转换为项目列表。
ClassDal obj = new ClassDal();
List<phone> list = obj.GetAll();
GridView1.DataSource = list.ToList();