ASP.NET获取列表框值

时间:2019-05-15 07:19:43

标签: c# asp.net list listbox

编辑:我添加了一个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截图:

enter image description here

在左侧控件All Headers上选择标题,并将其分别添加/删除到右侧控件Selected HeaderslistFolders 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);
}

0 个答案:

没有答案