ASP.Net和实体框架过滤搜索到Gridview

时间:2014-02-27 22:38:14

标签: c# asp.net entity-framework gridview entity-framework-4

我正在使用ASP.NET应用程序,它正在使用Entity Framework并从数据库中获取数据。我有以下代码来过滤网格视图上的渲染数据。我试过这个代码,这肯定是错误的!

 protected void btnSearch_Click(object sender, EventArgs e)
        {
            GISEntities gis = new GISEntities();
            GIS_CONTRACTOR_TEST tbl = gis.GIS_CONTRACTOR_TEST.ToList().Where(x => x.CONTRACTORNAME == txtSearch.Text).First();
            GridView1.DataSource = tbl.CONTRACTORNAME;
            GridView1.DataBind();
        }

正如您所看到的,我在GridView1.DataSource = tbl.CONTRACTORNAME;上遇到了问题,除了字段构造函数之外,我找不到tbl的任何其他属性。能告诉我如何将数据库过滤到网格视图而不是单独显示它们吗?

由于

2 个答案:

答案 0 :(得分:2)

如果我假设GISEntities是您的数据库上下文,那么试试这个。

var result = (from a in gis.GIS_CONTRACTOR_TEST where a.CONTRACTORNAME == txtSearch.Text select a).ToList();

GridView1.DataSource = result;
GridView1.DataBind();

如果您在result变量中找不到正确的属性,我会查看您的GIS_CONTRACTOR_TEST模型和数据库上下文,确保它已正确定义。

答案 1 :(得分:1)

试试这个

GISEntities gis = new GISEntities();
GridView1.DataSource = gis.GIS_CONTRACTOR_TEST.Where(m => m.CONTRACTORNAME == txtSearch.Text).ToList();
GridView1.DataBind();