如何通过C#在ASP.NET中从后面的代码中以多选模式检索绑定的列表框?

时间:2018-11-19 02:35:44

标签: c# asp.net listbox

我有chosen listbox。我可以从此列表框中向数据库添加项目没有问题,但是当我要编辑帖子并将这些标签从数据库中检索到此列表框中时,我无法从数据库中添加选定的项目。

我需要按用户检索所选标签并将其添加到此列表框中,因为用户需要查看他的所选标签。

我的代码如下:

<asp:SqlDataSource ID="sqldsSkillsNeed" runat="server" ConnectionString='<%$ ConnectionStrings:NetProjectsConnStr %>' SelectCommand="SELECT * FROM [tblAutoTags]"></asp:SqlDataSource>
<asp:ListBox ID="lstSkills" data-placeholder="your skills" SelectionMode="Multiple" CssClass="form-control chosen-select chosen-rtl" TabIndex="8" runat="server" DataSourceID="sqldsSkillsNeed" DataTextField="TagTitle" DataValueField="id"></asp:ListBox>

和类似的代码

string str = dt.Rows[0]["skills"].ToString();
string[] values = str.Split(',');

foreach (string value in values)
{
    if (value.Trim() == "")
       continue;
    lstSkills.Items.Add(value);
}

此代码正常工作,但未在此行的列表框中检索选定的标签:

lstSkills.Items.Add(value);

3 个答案:

答案 0 :(得分:0)

只需尝试按照以下方式使用Listview的FindByValue属性...

    foreach (string str in selectedStr)
    {
        if(lstSkills.Items.FindByValue(str) != null) 
        { 
              lstSkills.Items.FindByValue(str).Selected = true; 
        } 
    }

答案 1 :(得分:0)

尝试

    string[] values = str.Split(',');

    lstSkills.Items.AddRange(values);

答案 2 :(得分:0)

ty我的问题解决了,但是现在我需要从列表框中删除选定的项目,但仍然保留选定的项目? 看这张照片:ListBox Image 在此图像中,您可以看到选定的项目,但是这些项目是双重的,我需要从列表中删除选定的项目