在LINQ语句中获取“Enumeration产生无结果”错误?

时间:2012-05-15 13:59:34

标签: c# linq entity-framework-4

我在转发器内有一个转发器。而我正在使用ItemDataBound在父级转发器的myEventDetails list()事件上绑定内部转发器。我在myEventDetails list()内收到page_load

所以当我使用以下linq查询时,我得到了

  

“枚举没有结果”

并且内部转发器具有空值。

protected void parentRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{

        Repeater inner = (Repeater)(e.Item.FindControl("innerRepeater"));


        var allEvents = from x in myEventDetails
                   where x.event_name == "test"
                   select new
                   {
                       EventName = x.event_name,
                       EventID = x.event_id
                   };

        inner.DataSource = allEvents;
        inner.DataBind();
    }
}

当我调试时,我正在获取myEventDetails list()的值。所以它不是空的。

由于

4 个答案:

答案 0 :(得分:2)

它表示您的event_name == "test"集合中没有myEventDetails的元素。

答案 1 :(得分:1)

是因为你没有匹配正确的文字吗?尝试使用ToLower

 where x.event_name.ToLower() == "test" 

答案 2 :(得分:0)

尝试拨打ToList()

inner.DataSource = allEvents.ToList();

答案 3 :(得分:0)

myEventDetails来自哪里?它是班上的一个领域/财产吗?

你可以将allEvents.ToList()分配给另一个变量,看看是否有帮助?我之前有过这样奇怪的问题似乎可以解决这个问题...我从来没有弄明白为什么,但值得一试。

相关问题