2016-08-15 16 views
0

나는 LinqDataSource 컨트롤을 사용하여 ListView 컨트롤을 채우는 asp.NET 애플리케이션이 있습니다. 여기 내 LinqDataSource 컨트롤의 OnSelecting 명령에 대한 코드입니다 : 이것은 잘 작동하지만 지금은 결과가 비어있는 경우 if 문을 실행할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; 
} 

. 결과가 비어 있는지 어떻게 알 수 있습니까?

답변

1

Any 메서드를 사용하십시오. 또한, LinqDataSourceSelectEvenArgs 저장 그래서 당신이 실행할 수있는에 IEnumerable<T>를 얻기 위해 as를 사용하므로 캐스트 object로 데이터 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

'객체' '모든'없이 확장 방법 '에 대한 정의가 포함되어 있지 않습니다 'object'유형의 첫 번째 인수를 수락 할 수 있습니다 (사용 지시문이나 어셈블리 참조가 누락 되었습니까?) –

+0

@BarryDoyle - 편집 확인 –

+0

확인하지만 결과가 비어있는 경우에만 실행하도록 요청했습니다. , 그래서 if (! collection.Any()) {}가 작동하면 솔루션으로 안내해 주셔서 감사합니다. –