在aspx页面中:
<asp:ListView ID="ListViewPosts" ItemType="Post"
SelectMethod="ListViewPosts_GetData" runat="server"
OnItemCommand="Insert_Comment"
OnItemDataBound="ListViewPosts_ItemDataBound">
...
...
</asp:ListView>
代码背后:
protected void Insert_Comment(object sender, ListViewCommandEventArgs e)
{
...
Post p = Item; //where Item stands for the current Post record in ListView.
...
}
如果我ListView
位于ItemType="Post"
; Post
是一个数据库表。
如何在代码隐藏方法Item
Post
的当前值(代表Insert_Comment
表中的当前记录)
我问了question OnItemDataBound
方法和代码:
Post p = e.Item.DataItem as Post
效果很好。我为OnItemCommand
尝试了相同的代码,但变量Post p
获得null
值!!。
我可以使用CommandArgument
,但我想知道我是否可以像Post
方法一样直接获取OnItemDataBound
项目。
答案 0 :(得分:0)
您只能在.DataItem
内使用OnItemDataBound
。您可以传递Id
的{{1}}并使用它从数据库中恢复Item
:
Item