如何在ASP经典

时间:2015-07-03 21:28:26

标签: asp-classic

我正在开发一个经典的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”)那么如何获取所选项目的内容

2 个答案:

答案 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的阵列。如果下拉列表是多选的,您还必须遍历返回的表单数据。