我从两个DropDownList
中选择值,我的条件是仅删除列表中的最后一个逗号(将DropDownList转换为List
)。这是一个老问题,我知道但是陷入了一个简单的问题。这是我到目前为止所尝试的:
var ddlAll = new List<DropDownList>() //Lists of DropDownList
{
ddl1, //DropDownList 1
ddl2 //DropDownList 2
};
foreach(var item in ddlAll) //Iterating through for loop
{
lblShow.Text += "'" + item.SelectedValue + "'" + ", ".TrimEnd(',', ' '); //Getting the values here and trying to remove the last comma
}
使用上面的代码,我得到以下输出:
'Hello 2''Hello 4'
但我的预期输出如下:
'Hello 2', 'Hello 4'
没有TrimEnd()
,我明白了:
'Hello 2', 'Hello 4',
N.B:可能会有更多DropDownList
个值但它应该只删除它们中的最后一个逗号。
答案 0 :(得分:1)
你在每次迭代中都在做string text = "";
foreach(var item in ddlAll)
{
text += "'" + item.SelectedValue + "'" + ", ";
}
lblShow.Text = text.TrimEnd(',', ' ');
。最后,您必须更改代码才能执行此操作。例如:
"'" + item.SelectedValue + "'" + ", ".TrimEnd(',', ' ');
另外,我会改写这个:
string.Format
使用string.Format("'{0}',", item.SelectedValue);
进入:
$"'{item.SelectedValue}',";
甚至,如果您使用的是C#6或更高版本,请执行以下操作:
NULL
答案 1 :(得分:0)
只需使用String.Join
String.Join(",", new List<string> { "Hello 2", "Hello 4" })
在您的情况下,第二个参数是
ddlAll.Select(x => x.SelectedValue)
答案 2 :(得分:0)
executors