联接多选下拉选项

本文关键字:选项 | 更新日期: 2023-09-27 18:34:37

我有这段代码,它将从 C# 的多选下拉列表中获取所有选定的项目,并将它们存储在一个字符串中:

var selectedQuery = ddlTrackingStatus.Items.Cast<ListItem>()
    .Where(item => item.Selected);
string txtSysDocChg = String.Join(",", selectedQuery).TrimEnd();

我需要做的是调整此代码,以便所有选定的项都用单引号括起来存储,以便我可以在 SQL Server 的 IN 语句中使用该字符串。当我尝试这样做时,它会一直用逗号存储在末尾。

联接多选下拉选项

对于问题so that all the selected items are stored with single quotes around them,这是答案:

var selectedQuery = ddlTrackingStatus.Items.Cast<ListItem>()
    .Where(item => item.Selected);
string txtSysDocChg = String.Join(",", selectedQuery.Select(x => "'" + x + "'"));
//there should be no reason to keep the "TrimEnd()"

请记住,如果您的值中已经包含单引号,这将中断。

但是,我认为您的问题更深,并且与您如何插入价值观有关。