我想訪問處理列表視圖的事件,如當被數據綁定到我的列表視圖中的數據: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