无法检索ListBox项的值ASP.NET

时间:2019-05-16 01:40:25

标签: c# asp.net listbox

我的ListFolder列表框控件返回0项。

我已放入testLB列表框控件以进行测试,并且可以检索项目。

下面是代码段。

前端:

//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值?

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

首先,您必须将SelectionMode更改为Multiple

<asp:ListBox runat="server" ID="listFolder" CssClass="fileHeight" Style="width: 100%;" SelectionMode="Multiple" ClientIDMode="Static" onclick="onListFolderClick(); ">
        </asp:ListBox>

创建JavaScript方法以选择listFolder中的所有项目:

function SelectAllItems() {
    $("#listFolder").each(function() { 
        $("#listFolder option").attr("selected", "selected"); 
    }); 

    $("#listFolder").focus();
}

在“生成报告”按钮上致电SelectAllItems

<input type="submit" value="Generate Report" onsubmit="SelectAllItems()" />