如何将列表绑定到GridView

时间:2014-06-09 05:12:03

标签: asp.net gridview binding

我在一个类中有一个列表,我想在另一个类中使用这个列表并将其绑定到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。

2 个答案:

答案 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();