我正在使用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
的任何其他属性。能告诉我如何将数据库过滤到网格视图而不是单独显示它们吗?
由于
答案 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();