Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将IQueryable返回到数据绑定控件的正确语法是什么_C#_Linq To Sql - Fatal编程技术网

C# 将IQueryable返回到数据绑定控件的正确语法是什么

C# 将IQueryable返回到数据绑定控件的正确语法是什么,c#,linq-to-sql,C#,Linq To Sql,我正在进行重构以消除SqlDataSource控件。下面是我的业务逻辑类中的代码,用于返回给定ID的图像列表 public class BusinessLogic { public IQueryable<SBMData2.File> GetPackageImages(int id) { SBMData2.SBMDataContext db = new SBMData2.SBMDataContext(); IQuerya

我正在进行重构以消除SqlDataSource控件。下面是我的业务逻辑类中的代码,用于返回给定ID的图像列表

public class BusinessLogic
{        
    public IQueryable<SBMData2.File> GetPackageImages(int id)
    {
        SBMData2.SBMDataContext db = new SBMData2.SBMDataContext();

        IQueryable<SBMData2.File> PackageImages = from f in db.Files
                                                  where f.PackageID == id
                                                  select f;
        return PackageImages;

    }
}
My item模板包含一个简单的图像标记,该标记从绑定的IQueryable对象绑定文件名。例如:

<img src="PackageFile.ashx?Thumb=true&Id=<%# DataBinder.Eval(Container.DataItem, "FileName").ToString() %>" alt="loading image ..."/>
“alt=”正在加载图像…”/>
我的问题有两个部分。首先,我的语法在BusinessLogic类中是否正确?我怀疑这不是因为我无法从我的代码中访问GetPackageImages。其次,我几乎可以肯定我没有正确指定数据源。我如何纠正这一点

谢谢!

您已将其声明为实例方法,但您正在尝试将其作为静态方法,除非您具有类型为
BusinessLogic
的名为
BusinessLogic
的属性……尝试将其设为静态:

public static IQueryable<SBMData2.File> GetPackageImages(int id)

谢谢你,Jon。这是一个非常有用且清晰的方法。我仍在尝试找出数据绑定此查询的正确方法。结果证明,数据绑定的工作原理与问题中所示完全相同。
public static IQueryable<SBMData2.File> GetPackageImages(int id)
SBMData2.SBMDataContext db = new SBMData2.SBMDataContext();
return db.Files.Where(f => f.PackageID == id);