下拉框中的经典asp填充值但不显示文本

时间:2018-02-08 12:36:53

标签: html asp-classic

如上所述,当我运行我的代码时,它从数据库中提取,当我在Web浏览器中使用devtools检查它时,它已正确填充下拉列表中的所有值字段。虽然我不能为我的生活弄清楚为什么它不会显示文字。我的代码低于+ SS。 (突出显示的下拉列表不显示文本)。这是我在asp中做过的第一件事,所以希望我能错过一些简单的事情,提前谢谢。

Set newconn = Server.CreateObject("ADODB.Connection")
newconn.ConnectionString = "DRIVER={SQL Server};SERVER=123;DATABASE=123[![enter image description here][1]][1];UID=123;PASSWORD=123"
newconn.Open

Set nameid=newconn.execute("select * from v_emp_list_with_mngr order by knownas" )

<TR>
    <TD>Name of Employee</TD>
        <TD>
            <select style="width:155px" size="1" name="knownas"><option value="">-- Please Choose --</option>
                <%Do While NOT nameid.EOF%>
                    <option value="<%response.write nameid.fields("knownas")%>"><%response.write nameid.fields("knownas")%></option>
                <%
                nameid.movenext 
                Loop %>
            </select>
        </TD>
  </TR>

2 个答案:

答案 0 :(得分:1)

设置nameid = newconn.execute(&#34; select from from v_emp_list_with_mngr order by knownas&#34;)

工作一个结果 示例nameid(0)调用第一次重新调用 不要工作代码执行methot

set kisiler = server.createobject("adodb.recordset")
SQL="select * from v_emp_list_with_mngr order by knownas"
kisiler.open SQL,newconn,1,3


    <%Do While NOT kisiler.EOF%>
    <option value="<%=kisiler("knownas")%>"><%=kisiler("knownas")%></option>
   <%
    kisiler.movenext 
    Loop %>

答案 1 :(得分:1)

列的数据类型是什么?

我们遇到的问题是,任何类型的TEXT字段(即:not char或varchar)都可以在Record Set中使用一次,然后再也不会使用。 O_O(诚然,这是一个MySQL连接器。)

解决方案是将其直接放入变量中,然后使用它。

尝试在没有HTML的情况下写出数据库内容。也就是说,构建一个循环,然后将其输出到屏幕?

Value: <%=nameid.fields("knownas")%>

Text: <%=nameid.fields("knownas")%>

然后尝试将其放入变量中,并将其写出来。