Я делаю некоторый рефакторинг для устранения элементов управления SqlDataSource. Ниже приведен код из моего класса бизнес-логики, предназначенный для возврата списка изображений для данного идентификатора.
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;
}
}
В своем коде я пытаюсь связать объект IQueryable с ретранслятором asp, выполнив что-то вроде следующего.
int id = RadGrid1.SelectedValues["id"].ToString();
Repeater1.DataSource = BusinessLogic.GetPackageImages(id);
Repeater1.DataBind();
Шаблон моего элемента содержит простой тег изображения, который связывает FileName со связанным объектом IQueryable. Например:
<img src="PackageFile.ashx?Thumb=true&Id=<%# DataBinder.Eval(Container.DataItem, "FileName").ToString() %>" alt="loading image ..."/>
Мой вопрос состоит из двух частей. Во-первых, правильный ли мой синтаксис внутри класса BusinessLogic? Я подозреваю, что это не потому, что я не могу получить доступ к GetPackageImages из своего кода позади. Во-вторых, я почти уверен, что неправильно указал свой источник данных. Как я могу это исправить?
Спасибо!