ASP.NET получить значения ListBox - PullRequest
0 голосов
/ 15 мая 2019

РЕДАКТИРОВАТЬ: Я добавил 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);

Скриншот страницы пользовательского интерфейса:

enter image description here

Заголовки выбираются на левом элементе управления 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);
}
...