Заполнение раскрывающегося списка из значений, разделенных запятыми, в текстовом поле ASP.NET

Я хочу заполнить раскрывающийся список значениями, разделенными запятыми, из текстового поля. У меня есть код ниже:

sDDvalues = txtValues.Text

Me.DropDownList1.Items.Clear()
Dim months() As String = {sDDvalues}
Me.DropDownList1.DataSource = months
Me.DropDownList1.DataBind()

Я ввел в текстовое поле, например: значение1, значение2 и «значение1», «значение2» и «значение1», «значение2», но каждая комбинация возвращается как 1 вариант:

<option value="'value1', 'value2'">'value1', 'value2'</option>

Ввод фактических значений для месяцев(), например: {"value1", "value2"}, возвращает правильное раскрывающееся меню:

<option value="value1">value1</option>
<option value="value2">value2</option>

Кто-нибудь знает, как это решить, чтобы он заполнялся значениями в текстовом поле?

Заранее спасибо!

Марселлино


person Marcellino Bommezijn    schedule 21.09.2012    source источник
comment
Перефразируйте свой вопрос, пожалуйста.   -  person kv-prajapati    schedule 21.09.2012
comment
Не забудьте проголосовать и пометить ответ как принятый, если он вам подходит.   -  person Pranay Rana    schedule 12.10.2012


Ответы (3)


Использовать

Dim months() As String = txtValues.Text.Split(New Char() {", "c})
Me.DropDownList1.DataSource = months
person chead23    schedule 21.09.2012
comment
зачем создавать дополнительную переменную Dimmonths() As String...почему не назначать напрямую - person Pranay Rana; 21.09.2012
comment
@ Pranay Rana: Можете ли вы объяснить, почему вы должны назначить напрямую? - person rumburak; 21.09.2012

Должен быть:

Me.DropDownList1.DataSource = txtValues.Text.Split(New Char() {" "c, "-"c})

Итак завершено:

Me.DropDownList1.Items.Clear()
Me.DropDownList1.DataSource = txtValues.Text.Split(New Char() {" "c, "-"c})
Me.DropDownList1.DataBind()

Ввод в текстовое поле будет выглядеть так: value1 value2 value3

Если вы хотите разделить его запятой, используйте:

Me.DropDownList1.DataSource = txtValues.Text.Split(",")

Ввод в текстовое поле будет выглядеть так: это мое значение1, это мое значение2, это мое значение3

Спасибо за ответы!

person Marcellino Bommezijn    schedule 21.09.2012

просто разделите строку и напишите, что это сработает для вас

Me.DropDownList1.DataSource = txtValues.Text.Split(New Char() {", "c})
person Pranay Rana    schedule 21.09.2012
comment
Спасибо! Но это возвращает следующую ошибку: BC30456: «Split» не является членом «System.Array». - person Marcellino Bommezijn; 21.09.2012
comment
Хорошо, это повторяет эту ошибку: BC30004: символьная константа должна содержать ровно один символ. - person Marcellino Bommezijn; 21.09.2012