2013-07-08 3 views
1

사용자가 웹 페이지에서 모두 추가 버튼을 클릭하면 데이터베이스에서 채워지는 드롭 다운 목록이 있습니다. 값을 설정하고 싶습니다. 문자열 'milestones'를 드롭 다운 목록의 모든 값을 포함하는 쉼표로 구분 된 문자열로 변환합니다. 이 작업을 수행하는 간단한 방법이 있습니까?문자열 값을 드롭 다운 목록의 모든 값으로 설정하는 방법 asp.net

답변

3

당신이 그들을 CONCAT하는 String.Join를 사용 DropDownList의 모든 항목을 선택 Linq를 사용할 수 있습니다 :

string milestoneNames = string.Join(",", 
    ddlMileStone.Items.Cast<ListItem>().Select(i => i.Text)); 

대신 모든 값을 원하는 경우 : 그

string milestoneValues = string.Join(",", 
    ddlMileStone.Items.Cast<ListItem>().Select(i => i.Value)); 
+0

첫 번째 예가 제대로 작동하도록 이름을 지정 했으므로 대단히 감사합니다. – Win

+0

@dtsg : .NET 4에서 'String.Join'은'IEnumerable '을 허용합니다. http://msdn.microsoft.com/en-us/library/dd992421(v=vs.100).aspx –

4

사용 String.Join는 :

string[] ddlValues = ddl.Items.Cast<ListItem>().Select(x => x.Text).ToArray(); 
string milestones = string.Join(",", ddlValues)); 
1

이뿐만 아니라 당신을 위해 작동 할 수있다.

string milestones = string.Join(",", ddl.Items.ToArray()); 
+0

죄송합니다 컴파일되지 않습니까? –

0
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(); 
관련 문제