我正在开发一个经典的ASP Web应用程序。我有一个下拉框,用户可以选择多个项目并提交表格。现在我的要求是 如何获取DropDownBox的内容(需要在数据库表中插入值为表ID(主键)的内容和值)
例如
<option value="1">ABC</option>
<option value="2">XYZ</option>
<option value="3">MNO</option>
--------
--------
--------
<option value="100">DEF</option>
用户提交页面后,如何获取所选下拉项目的内容。
我可以通过编写来获得价值:item = request.form(“data”)那么如何获取所选项目的内容
答案 0 :(得分:2)
对于多选列表框,Request.Form
将包含以逗号分隔的值列表。例如,如果选择了以下选项:
<option value="1">ABC</option>
<option value="3">MNO</option>
Request.Form(<name of select element>)
将包含:
1, 3
因此,您可以Split()
获取所选选项数组的值:
a = Split(Request.Form("whatever"), ",")
For Each o In a
Response.Write "Selected value = " & o & "<br>"
Next
修改强>:
听起来你需要做这样的事情:
<option value="1-ABC">ABC</option>
<option value="2-XYZ">XYZ</option>
<option value="3-MNO">MNO</option>
然后使用类似于上面发布的代码的代码,以及Split()
上的o
代码将ID与文本分开:
a = Split(Request.Form("whatever"), ",")
Dim o, id, text
For Each o In a
id = Split(o, "-")(0)
text = Split(o, "-")(1)
Response.Write "Selected value = " & id & ", text = " & text & "<br>"
Next
答案 1 :(得分:0)
经过一番仔细检查,我不相信可以使用ASP Classic的ui->dockwidget->vboxlayout->replaceWidget(label, myWidget);
对象从下拉列表中获取文本。由于您包含了ASP.NET标记,如果您正在使用它,则该文本是控件之外的属性:
request
如果您需要ASP Classic的解决方法,则可以使用下拉列表中的相同数据填充数组作为映射对象。用户提交表单后,您可以使用请求的表单数据中的值返回索引数组,以检索文本值。
// Gets the value of the dropdown item
nameOfDropDown.SelectedItem.Value
// Gets the text of the dropdown item
nameOfDropDown.SelectedItem.Text
注意,根据支持阵列的语言,您可能需要调整为基于0或1的阵列。如果下拉列表是多选的,您还必须遍历返回的表单数据。