2016-08-15 58 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()){}正常工作,感謝您爲我帶來解決方案。 –