我想访问处理列表视图的事件,如当被数据绑定到我的列表视图中的数据:ASP ListView:如何访问数据绑定到行的数据?
protected void List_ItemDataBound(object sender, ListViewItemEventArgs e)
或
protected void List_ItemCommand(object sender, ListViewCommandEventArgs e)
的事件里面,我无法通过财产以后访问数据像Eval("ID")
目前我们使用的是非常哈克解决方案:
string id = e.Item.FindControl("lblID").Text;
凡lblID
是使用在aspx文件中填充数据隐藏的控制:当我在看这个
<asp:Label ID="lblID" runat="server" Text='<%# Eval("ID") %>' />
我的眼睛流血,有没有更好的办法?
我没有e.Item.DataItem,它不会出现在intellisense上,当我尝试编译它时会导致错误。 – Robert 2010-06-04 14:00:24
@Robert - 你可能不会在ItemCommand事件上获得它,但你应该在ItemDataBound事件中获得它 - 这是我链接到的MSDN页面显示的内容。这不是这种情况吗? – 2010-06-04 14:12:28
不,不能在任何事件上得到它。我发现了一个适用于ItemDataBound方法的解决方法,但即使如此,ItemCommand方法仍然存在问题。我认为这个问题可能是因为我使用的是DataSource而不是ObjectDataSource。 – Robert 2010-06-04 14:40:51