选择后如何检查LinqDataSource是否为空?

How to check if LinqDataSource is empty after selecting?

我有一个 asp.NET 应用程序,我在其中使用 LinqDataSource 控件来填充 ListView 控件。这是我的 LinqDataSource 控件的 OnSelecting 命令的代码:

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 语句。如何查看结果是否为空?

使用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*/
}