Я новичок в Repeater и DataBinding, и мне нужна помощь в его использовании.ASP.NET - Получение объекта внутри Repeater ItemTemplate с/без Eval
В PageLoad, у меня есть
var photos = from p in MyDataContext.Photos
select new {
p,
Url = p.GetImageUrl()
};
repeater1.DataSource = photos;
repeater1.DataBind();
В контрольной Repeater, у меня есть
<ItemTemplate>
<% Photo p = (Photo) Eval("p"); %> <!-- Apparently I can't do this -->
...
<asp:TextBox runat="server" ID="txtTime" Text='<%= p.Time == null ? "" : ((DateTime)p.Time).ToString("dd/MM/yyyy HH:mm:ss") %>' />
...
</ItemTemplate>
Но это не так.
Что мне нужно - это получить объект Photo в ItemTemplate, чтобы я мог делать с ним что-либо (например, чтобы отобразить время, как во второй строке в ItemTemplate выше). Возможно ли это сделать в повторителе?
Может ли кто-нибудь указать мне в правильном направлении?
Спасибо заранее!
Спасибо Lareau, но e.Item.DataItem не является фотографией, я не знаю, какой тип это ... что-то вроде IQueryable <Фото, строка> (см. Мой код выше, var photos = ...) – Aximili
Отлично! Большое спасибо Lareau! – Aximili