2 c# database asp.net listbox multi-select
我正在尝试为数据库记录构建一个"编辑"页面,该页面可以编辑并保存回数据库.其中一个字段是多选列表框,需要在加载时突出显示硬编码列表中的相应列表项.
使用C#,如何根据数据库字段中逗号分隔的字符串填充多选列表框 - 选择适当的项目?我已经研究了一些涉及循环的解决方案,但我无法让他们使用我有限的C#技能组.
在我遇到困难之前,这就是我现在所拥有的一切.您会看到它没有考虑字符串中的多个值.是否有像"包含"这样的函数,我可以查看该值是否匹配?我仍然缺少一些(可能是基本的)C#逻辑和编码.
int i;
for (i = 0; i <= CATEGORYListBox.Items.Count - 1; i++)
{
if (reader["CATEGORY"].ToString() == CATEGORYListBox.Items(i).Value)
{
CATEGORYListBox.Items(i).Selected = True;
}
}
Run Code Online (Sandbox Code Playgroud)
...
<asp:ListBox ID="CATEGORYListBox" runat="server">
<asp:ListItem Value="Circulation">Circulation</asp:ListItem>
<asp:ListItem Value="Interactive Media">Interactive Media</asp:ListItem>
<asp:ListItem Value="Classified">Classified</asp:ListItem>
<asp:ListItem Value="Publishing">Publishing</asp:ListItem>
<asp:ListItem Value="Editorial">Editorial</asp:ListItem>
<asp:ListItem Value="Retail">Retail</asp:ListItem>
</asp:ListBox>
Run Code Online (Sandbox Code Playgroud)
感谢大家.
我会根据这些思路提出建议.它似乎比执行嵌套循环更具可读性.
List<string> categories = new List<string>(reader["CATEGORY"].ToString().Split(','));
foreach (ListItem item in CATEGORYListBox.Items)
{
if (categories.Contains(item.Value))
item.Selected = true;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18223 次 |
最近记录: |