c# - 单击时从 LinkButton 获取 ListViewItem
问题描述
我有一个这样的 ASPX 页面
<asp:ListView ID="lv" runat="server">
<ItemTemplate>
<asp:LinkButton ID="lvLB" OnClick="lvLB_OnClick" runat="server">ButtonLabel</asp:LinkButton>
</ItemTemplate>
</ListView>
然后是 ASPX.cs 文件:
protected void lvLB_OnClick(object sender, EventArgs e){
LinkButton lb = (LinkButton)sender;
ListViewDataItem data = (ListViewDataItem)lb.Parent;
DataRowView rV = data.DataItem as DataRowView;
}
列表视图与 DataSet 对象正确数据绑定,并在页面上显示正确的数据。
我正在尝试获取单击该按钮的 Item 的 DataRowView,但上面将在 data.DataItem 作为 DataRowView 返回 null。
我错过了什么?
解决方案
仅当基础类型为or时,您才能强制DataItem
转换为。否则它不能立即转换。您的组件是 a ,因此如果需要,您必须自己映射它。DataRowView
DataView
DataTable
ListView
DataRowView