我有一個listview對話框來將數據綁定到該列表視圖。查詢的結果不能枚舉多次。
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()。我不確定我錯過了什麼。
請幫忙!
錯誤消息是不言自明的。您正嘗試多次獲取查詢的結果。你不能那樣做。那你覺得怎麼樣?您還試圖執行基於處置數據源的查詢,因此這很可能也會給您帶來問題。 – Servy