【发布时间】:2013-07-08 15:07:32
【问题描述】:
我有一个从数据库填充的下拉列表,当用户单击网页上的添加所有按钮时,我想将字符串“里程碑”的值设置为逗号分隔的字符串,该字符串包含所有值下拉列表。有没有一种简单的方法可以做到这一点?
【问题讨论】:
我有一个从数据库填充的下拉列表,当用户单击网页上的添加所有按钮时,我想将字符串“里程碑”的值设置为逗号分隔的字符串,该字符串包含所有值下拉列表。有没有一种简单的方法可以做到这一点?
【问题讨论】:
使用String.Join:
string[] ddlValues = ddl.Items.Cast<ListItem>().Select(x => x.Text).ToArray();
string milestones = string.Join(",", ddlValues));
【讨论】:
您可以使用 Linq 选择 DropDownList 的所有项目,使用 String.Join 连接它们:
string milestoneNames = string.Join(",",
ddlMileStone.Items.Cast<ListItem>().Select(i => i.Text));
如果您想要所有值:
string milestoneValues = string.Join(",",
ddlMileStone.Items.Cast<ListItem>().Select(i => i.Value));
【讨论】:
String.Join 接受 IEnumerable<T>:msdn.microsoft.com/en-us/library/dd992421(v=vs.100).aspx
这也适用于您。
string milestones = string.Join(",", ddl.Items.ToArray());
【讨论】:
DropDownList d = new DropDownList();
d.Items.Add(new ListItem("1", "Foo"));
d.Items.Add(new ListItem("2", "Bar"));
string[] items = d.Items.Cast<ListItem>().Select(x => x.Value).ToArray();
【讨论】: