我是Repeater和DataBinding的新手,我需要使用它的幫助。ASP.NET - 使用/不使用Eval的Repeater ItemTemplate中獲取對象
在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>
但是,這是錯誤的。
我需要的是在ItemTemplate中獲取Photo對象,這樣我就可以做它(例如,顯示上面ItemTemplate中第二行的時間)。是否有可能在Repeater中做到這一點?
難道有人指着我正確的方向嗎?
預先感謝您!
感謝Lareau,但e.Item.DataItem不是照片,我不知道它是什麼類型...像IQueryable <照片,字符串>(請參閱我上面的代碼,var photos = ...) – Aximili 2010-11-14 04:38:02
完美!非常感謝Lareau! – Aximili 2010-11-15 12:28:52