0

我在中继器中有一个中继器。我在父中继器的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

4 回答 4

2

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

于 2012-05-15T14:01:09.413 回答
1

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

 where x.event_name.ToLower() == "test" 
于 2012-05-15T16:49:14.583 回答
0

尝试调用ToList()

inner.DataSource = allEvents.ToList();
于 2012-05-15T14:04:10.173 回答
0

myEventDetails 来自哪里?它是类上的字段/属性吗?

您可以将 allEvents.ToList() 分配给另一个变量,看看是否有帮助?我之前遇到过类似这样的奇怪问题,似乎可以通过这样做来解决......我从来没有完全弄清楚为什么,但值得一试。

于 2012-05-15T15:18:31.757 回答