Вам необходимо добавить два класса в ваш проект в каталоге App_Code.
Один будет содержать оболочку для строкового класса (я назвал его StringWrapper), а другой будет содержать метод типа List.Этот последний метод вернет ваш список imgURLS.
public class StringWrapper
{
public string Value
{ get; set; }
public StringWrapper(string s)
{
this.Value = s;
}
public static implicit operator StringWrapper(string s)
{
return new StringWrapper(s);
}
}
public static class Tools
{
public static List<StringWrapper> GetImgUrls()
{
List<StringWrapper> imgURLS = new List<StringWrapper>();
String selectExpression = "Select * From Gallery Where Category = 'imgurls'";
SelectRequest selectRequestAction = new SelectRequest().WithSelectExpression(selectExpression);
SelectResponse selectResponse = sdb.Select(selectRequestAction);
if (selectResponse.IsSetSelectResult())
{
SelectResult selectResult = selectResponse.SelectResult;
foreach (Item item in selectResult.Item)
{
Console.WriteLine(" Item");
if (item.IsSetName())
{
imgURLS.Add(item.Value) //the URL of the image
}
}
}
return imgURLS;
}
}
Затем в режиме конструктора на странице aspx вы выбираете ретранслятор и нажимаете в верхнем правом углу.Вы нажимаете выбрал источник данных, добавить новый источник данных.Вы выбираете объект (переименуйте его, если хотите) и нажимаете ОК.
Затем вы снимаете флажок, чтобы увидеть все объекты, которые можно использовать, вы выбрали имя созданного вами класса (здесь, Инструменты).Нажмите кнопку «Далее», затем выберите метод GetImgUrls и нажмите «Завершить».
Затем, чтобы использовать его, просто вызовите <% # Eval («Value»)%> в своем шаблоне ItemTemplate, например:
<ItemTemplate>
<img src='<%# Eval("Value") %>' />
</ItemTemplate>
Функция Eval ищет свойства, а строка не имеет свойства, кроме свойства «Длина».Вот почему вам нужно сделать stringwrapper, чтобы Eval мог вызвать свойство Value и получить строковое значение.