编辑:我添加了一个testLB
列表框控件用于测试,可以检索项目。以前,listFolder
列表框控件返回NOT NULL
,因为它是一个空容器,其中没有任何物品。
下面是代码段。
前端:
//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);
页面UI截图:
在左侧控件All Headers
上选择标题,并将其分别添加/删除到右侧控件Selected Headers
,listFolders
lb控件中。
最后,单击Generate Report
按钮,将检索listFolder
lb控件中的所有值。
我是否需要包括一个用于存储物品的容器,例如<asp:ListItem>
才能检索lb值?
任何帮助将不胜感激!
原始帖子:
我希望从表单中的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);
}