首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ASP中获取DropDownBox的DataTextField(内容)

如何在ASP中获取DropDownBox的DataTextField(内容)
EN

Stack Overflow用户
提问于 2015-07-04 05:28:26
回答 2查看 3K关注 0票数 0

我正在开发一个经典的ASP web应用程序。我有dropdownbox,用户可以选择多个项目并提交表单。现在我的需求是如何获取DropDownBox的内容(需要在数据库表中同时插入content和value,其中value为表ID(主键))

例如

代码语言:javascript
复制
 <option value="1">ABC</option>
 <option value="2">XYZ</option>
 <option value="3">MNO</option>
 --------
 --------
 --------
 <option value="100">DEF</option>

用户提交页面后,我如何才能获得所选下拉项目的内容。

我可以通过以下代码获取值: item =request.form("data")那么如何获取所选项目的内容

EN

回答 2

Stack Overflow用户

发布于 2015-07-04 09:13:47

对于多选列表框,Request.Form将包含所选值的逗号分隔列表。例如,如果选择了以下选项:

代码语言:javascript
复制
<option value="1">ABC</option>
<option value="3">MNO</option>

Request.Form(<name of select element>)将包含:

代码语言:javascript
复制
1, 3

因此,您可以对该值执行Split()操作,以获得所选选项的数组:

代码语言:javascript
复制
a = Split(Request.Form("whatever"), ",")

For Each o In a
    Response.Write "Selected value = " & o & "<br>"
Next

编辑

听起来你需要这样做:

代码语言:javascript
复制
<option value="1-ABC">ABC</option>
<option value="2-XYZ">XYZ</option>
<option value="3-MNO">MNO</option>

然后使用类似于上面发布的代码,但也可以在o上使用Split()来将ID与文本分开:

代码语言:javascript
复制
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
票数 2
EN

Stack Overflow用户

发布于 2015-07-04 06:49:18

经过仔细检查,我认为不可能使用ASP Classic的request对象从下拉项中抓取文本。由于您包含了ASP.NET标记,如果您正在使用该标记,则该文本是该控件之外的属性:

代码语言:javascript
复制
// Gets the value of the dropdown item
nameOfDropDown.SelectedItem.Value

// Gets the text of the dropdown item
nameOfDropDown.SelectedItem.Text

如果您需要解决ASP Classic的问题,您可以在下拉列表中使用与映射对象相同的数据填充数组。在用户提交表单之后,您可以使用请求的表单数据中返回的值来索引数组,以检索文本值。

代码语言:javascript
复制
//Assuming VB when using ASP Classic
//Also assuming a method that returns the values for your dropdown
Dim dropDownArray() = MethodToReturnArrayOfDropDownText()

//Using your snippet for getting the dropdown value
Dim item = request.form("data")

//Use that value to get the text out of the array
Dim selectedText = dropDownArray(item)

注意,根据支持数组的语言,您可能必须调整为基于0或1的数组。如果dropdown是多选的,您还必须遍历返回的表单数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31214378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档