【发布时间】:2017-02-22 18:46:14
【问题描述】:
我有一个列表视图对话框来将数据绑定到该列表视图。
private void BindListView(string DCLookupMstr_Value, int reportCatId, string DCLookup_Value = null)
{
using (Model.OperationalAnalyticsEntities oadb = new Model.OperationalAnalyticsEntities())
{
var res = oadb.prGetDailyCensusLookup(DCLookupMstr_Value, reportCatId, DCLookup_Value);
Session["LookupValues"] = res;
lvLookup.DataSource = res.ToList();
lvLookup.DataBind();
}
}
我在该列表视图对话框上放置了一个搜索框(文本框)。如果用户键入任何文本/字符,请使用 linq 查询。使用包含给定字符的值再次填充列表视图。我的代码如下
protected void txtSearch_TextChanged(object sender, EventArgs e)
{
var text = txtSearch.Text;
//var list = new List<Model.prGetDailyCensusLookup_Result>();
var lookUpValue = Session["LookupValues"] as ObjectResult<Model.prGetDailyCensusLookup_Result>;
var list = lookUpValue.Where(x => x.DCLookup_Value.Contains(text));
lvLookup.DataSource = list.ToList();
lvLookup.DataBind();
}
我在添加 .ToList() 的地方得到“不能多次枚举查询的结果”。我不确定我错过了什么。
请帮忙!
【问题讨论】:
-
错误信息是不言自明的。您试图多次获取查询结果。你不能那样做。那你不明白怎么办?您还尝试执行基于已处置数据源的查询,因此这也可能会给您带来问题。
标签: c# asp.net .net entity-framework linq