2016-08-15 59 views
0

我有一个asp.NET应用程序,我使用LinqDataSource控件来填充ListView控件。下面的代码为我LinqDataSource控制的OnSelecting命令:如何在选择后检查LinqDataSource是否为空?

protected void lds_Selecting(object sender, LinqDataSourceSelectEvenArgs e) 
{ 
    var db = new Models.EF.Entities(); 
    e.Result = from x in db.Sliders 
       where x.IsPublic == true 
       select x; 
} 

这个伟大的工程,但现在我想的是,结果是空的情况下运行的if语句。我怎样才能看到结果是否为空?

回答

1

使用Any方法。另外,LinqDataSourceSelectEvenArgs存储数据为object投下所以使用as获得可在其上运行IEnumerable<T>Any

e.Result = (from x in db.Sliders 
      where x.IsPublic == true 
      select x); 

var collection = e.Result as IEnumerable<Slider>; 
if(collection != null && !collection.Any()) 
{ 
    /*your code*/ 
} 
+0

“对象”不包含一个定义为“任何”,没有扩展方法“任何'接受类型'对象'的第一个参数可以找到(你是否缺少使用指令或程序集引用?) –

+0

@BarryDoyle - 检查编辑 –

+0

好吧,但我真的要求它只有当结果是空的时才运行,所以如果(!collection.Any()){}正常工作,感谢您为我带来解决方案。 –