【问题标题】:Populating dropdown list from comma seperated values in textbox ASP.NET从文本框 ASP.NET 中的逗号分隔值填充下拉列表
【发布时间】:2012-09-13 21:58:38
【问题描述】:

我想用来自文本框的逗号分隔值填充下拉列表。我有以下代码:

sDDvalues = txtValues.Text

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

我在文本框中输入了:value1、value2 和“value1”、“value2”和 'value1'、'value2',但每个组合都作为 1 个选项返回:

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

输入months() 的实际值,例如:{"value1", "value2"} 返回正确的下拉列表:

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

有谁知道如何解决这个问题,所以它从文本框中的值填充?

提前致谢!

马塞利诺

【问题讨论】:

  • 请改写你的问题。
  • 如果对您有用,请不要忘记投票并将答案标记为已接受

标签: asp.net drop-down-menu textbox datasource populate


【解决方案1】:

只需拆分字符串并编写它即可为您工作

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

【讨论】:

  • 谢谢!但这会返回以下错误:BC30456: 'Split' is not a member of 'System.Array'。
  • 好的,这会返回这个错误:BC30004:字符常量必须只包含一个字符。
【解决方案2】:

使用

Dim months() As String = txtValues.Text.Split(New Char() {", "c})
Me.DropDownList1.DataSource = months

【讨论】:

  • 为什么要创建额外的变量 Dim months() As String ...为什么不直接分配
  • @Pranay Rana:你能解释一下为什么要直接分配吗?
【解决方案3】:

应该是:

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

感谢您的回复!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多