如何从 DataList(A) 中的 DataList(B) 获取选定索引?
How to get Selected Index from DataList(B) that is inside DataList(A)?
我无法获取 DataList 中的 DataList 的索引。
我在 DataList 中有一个 DataList。
澄清图像:
<DataList ID="A">
<DataList ID="B">
</DataList>
</DataList>
我需要 DataList B 的 Selected Index 值,以便我可以在 MySql table.
中使用它
我尝试在 CS 中通过以下方式获取索引值:
DataList BDL = (DataList)e.Item.FindControl("B");
int Index = BDL.DataKeys[e.Item.ItemIndex].ToString();
但它总是返回这个错误:
System.NullReferenceException: 'Object reference not set to an instance of an object.'
BDL 为空。
protected void BDataList_ItemCommand(object source, DataListCommandEventArgs e)
{
DataList BDL= (DataList)e.Item.FindControl("BDataList");
int index = e.Item.ItemIndex;
MyLabel.Text = "" + BDL.SelectedIndex;
}
<DataList ID="A" OnItemDataBound="ADataList_ItemDataBound" OnItemCommand="ADataList_ItemCommand" DataKeyField="ID">
<DataList ID="B" OnItemCommand="BDataList_ItemCommand" DataKeyField="ID">
</DataList>
</DataList>
DataList BDL = (DataList)e.Item.FindControl("B");
int Index = BDL.DataKeys[BDL.Item.ItemIndex].ToString();
我认为您对两个数据列表使用了相同的索引。这段代码对你来说可能是错误的,但你的算法应该是这样的:
- 获取选中的第二个Datalist
- 获取第二个列表中的选定值
我只需要做
DataList BDL = e.Item.NamingContainer as DataList;
我无法获取 DataList 中的 DataList 的索引。
我在 DataList 中有一个 DataList。
澄清图像:
<DataList ID="A">
<DataList ID="B">
</DataList>
</DataList>
我需要 DataList B 的 Selected Index 值,以便我可以在 MySql table.
中使用它我尝试在 CS 中通过以下方式获取索引值:
DataList BDL = (DataList)e.Item.FindControl("B");
int Index = BDL.DataKeys[e.Item.ItemIndex].ToString();
但它总是返回这个错误: System.NullReferenceException: 'Object reference not set to an instance of an object.'
BDL 为空。
protected void BDataList_ItemCommand(object source, DataListCommandEventArgs e)
{
DataList BDL= (DataList)e.Item.FindControl("BDataList");
int index = e.Item.ItemIndex;
MyLabel.Text = "" + BDL.SelectedIndex;
}
<DataList ID="A" OnItemDataBound="ADataList_ItemDataBound" OnItemCommand="ADataList_ItemCommand" DataKeyField="ID">
<DataList ID="B" OnItemCommand="BDataList_ItemCommand" DataKeyField="ID">
</DataList>
</DataList>
DataList BDL = (DataList)e.Item.FindControl("B");
int Index = BDL.DataKeys[BDL.Item.ItemIndex].ToString();
我认为您对两个数据列表使用了相同的索引。这段代码对你来说可能是错误的,但你的算法应该是这样的:
- 获取选中的第二个Datalist
- 获取第二个列表中的选定值
我只需要做
DataList BDL = e.Item.NamingContainer as DataList;