РЕДАКТИРОВАТЬ: Я добавил testLB
элемент управления списка для тестирования и элементы могут быть получены. Ранее listFolder
элемент управления listbox возвращал NOT NULL
, так как это пустой контейнер, просто без элементов в нем.
Ниже приведены фрагменты кода.
Frontend:
//Returned 0
<div class="tab-content">
<div id="sectionC" class="tab-pane fade in active">
<asp:ListBox runat="server" ID="listFolder" CssClass="fileHeight" Style="width: 100%;" SelectionMode="Single" ClientIDMode="Static" onclick="onListFolderClick(); ">
</asp:ListBox>
</div>
</div>
//Returned 1
<asp:ListBox ID="testLB" class="chosen" runat="server" Width="450px" Height="20px" SelectionMode="Single" ClientIDMode="Static">
<asp:ListItem>item1</asp:ListItem>
</asp:ListBox>
На странице загрузки:
//Returned 0
Log.LogDebug("listFolder.Items.Count:" + listFolder.Items.Count, Location);
//Returned 1
Log.LogDebug("testLB.Items.Count: " + testLB.Items.Count, Location);
Скриншот страницы пользовательского интерфейса:
Заголовки выбираются на левом элементе управления All Headers
и добавляются / удаляются индивидуально к правому элементу управления Selected Headers
, listFolders
lb control.
Наконец, нажимается кнопка Generate Report
, и все значения в listFolder
фунтах должны быть получены.
Нужно ли включать контейнер для хранения предметов, например <asp:ListItem>
чтобы иметь возможность получить значения в фунтах?
Любая помощь будет оценена!
ОРИГИНАЛЬНЫЙ ПОЧТА:
Я хотел бы получить все значения из ListBox
элемента управления в моей форме.
В настоящее время я сталкиваюсь с этой ошибкой:
Индекс был вне диапазона. Должен быть неотрицательным и меньше размера
Коллекция. Имя параметра: индекс
Ниже приведены мои фрагменты кода:
<div id="sectionC" class="tab-pane fade in active">
<asp:ListBox runat="server" ID="listFolder" CssClass="fileHeight" Style="width: 100%;" ClientIDMode="Static" onclick="onListFolderClick();"></asp:ListBox>
</div>
if (listFolder.Items != null)
{
//According to log, listFolder is not null
Log.LogDebug("listFolder.Items is not null", Location);
Log.LogDebug("[0]: " + listFolder.Items[0], Location);
^-I believe the exception was thrown here as this log do not appear in my database
Hashtable y = new Hashtable();
for (int index = 0; index < listFolder.Items.Count; index++)
{
ListItem x = listFolder.Items[index];
y[index] = x.Value;
}
}
else
{
Log.LogDebug("listFolder.Items is null", Location);
}