Je suis nouveau à Repeater et DataBinding et j'ai besoin d'aide pour l'utiliser.ASP.NET - Obtenir l'objet à l'intérieur Repeater ItemTemplate avec/sans Eval
En PageLoad, je
var photos = from p in MyDataContext.Photos
select new {
p,
Url = p.GetImageUrl()
};
repeater1.DataSource = photos;
repeater1.DataBind();
Dans le contrôle Repeater, je
<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>
Mais ce qui est faux. Ce dont j'ai besoin, c'est d'obtenir l'objet Photo dans ItemTemplate pour pouvoir faire des choses avec lui (par exemple pour afficher l'heure comme dans la deuxième ligne dans ItemTemplate ci-dessus). Est-il même possible de le faire dans un répéteur?
Est-ce que quelqu'un pourrait me diriger dans la bonne direction?
Merci d'avance!
Merci Lareau, mais e.Item.DataItem n'est pas Photo, je ne sais pas quel type il est ... quelque chose comme IQueryable (voir mon code ci-dessus, var photos = ...) –
Aximili
Parfait! Merci beaucoup Lareau! – Aximili