#c# #html #asp.net #datalist
#c# #HTML #asp.net #datalist
Вопрос:
Я не могу получить индекс DataList, который находится внутри DataList.
У меня есть DataList внутри DataList.
Для уточнения изображения:
<DataList ID="A">
<DataList ID="B">
</DataList>
</DataList>
Мне нужно выбранное значение индекса DataList B, чтобы я мог использовать его в таблице MySQL.
Я пытался в CS получить значение индекса с помощью:
DataList BDL = (DataList)e.Item.FindControl("B");
int Index = BDL.DataKeys[e.Item.ItemIndex].ToString();
Но он всегда возвращал эту ошибку:
Исключение System.NullReferenceException: ‘Ссылка на объект не установлена для экземпляра объекта.’
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>
Комментарии:
1. Пожалуйста, мне нужна помощь с этой проблемой.
Ответ №1:
DataList BDL = (DataList)e.Item.FindControl("B");
int Index = BDL.DataKeys[BDL.Item.ItemIndex].ToString();
Я думаю, вы использовали один и тот же индекс для двух datalist. Этот код, возможно, не подходит для вас, но ваш алгоритм должен быть таким:
- Получить выбранный второй Datalist
- Получить выбранное значение во втором списке
Ответ №2:
Это решило мою проблему: https://forums.asp.net/t/2154278.aspx ?Как получить Выбранный индекс из DataList B ,который находится внутри DataList A
Мне просто нужно было сделать
DataList BDL = e.Item.NamingContainer as DataList;