缓慢选择在Internet Explorer中显示大量项目的选项 - 经典ASP
问题描述:
所以基本上我有一个经典的ASP网页。我有一个表格下拉框,里面填充了数据库中的帐户代码(其中大约有4000个)。 在Chrome中呈现很好。 在Internet Explorer中,使用填充数据库字段呈现下拉框的过程非常缓慢。缓慢选择在Internet Explorer中显示大量项目的选项 - 经典ASP
我已经做了一些研究,并认为问题可能是每次循环遍历记录集,因此将代码转换为Getrows,但它仍然是相同的。我也尝试列出选项而不是选项值。它会呈现,它只是缓慢,这怎么能更快?我使用Internet Explorer 11
<select name="account1" id="account1">
<% If no_rows Then
Else
For X = 0 to Ubound(TheArray,2)%>
<option value="<%response.write(TheArray(arraykeycode,x))%>"><%response.write(TheArray (arraykeycode,x))%></option>
next
end if%>
</select>
答
你需要尽量减少文字去的页面数量,而且,说实话,在下拉列表4000项是发育不良。尝试通过筛选来限制下拉列表中的值(例如,通过另一个下拉列表)。
也许你最好的选择是使用GetString
函数来渲染字符串。 RecordSet
对象的此方法类似于GetRows
,不同之处在于您可以在行中的每个元素与字符串的开始和结尾之间指定填充符。 Have a look here的澄清。
- 编辑 -
只是为了拿这个职位的舞台。此外,这里有一个小例子:
Dim sql, rs, str
sql = _
"SELECT " & _
"'<option value=""' + CAST([id] AS VARCHAR) + '"">' + " & _
"[description] + '</option>' " & _
"FROM " & _
"myLookupList "
set rsData = Server.CreateObject("ADODB.RecordSet")
rs.Open sqlString, Application("conn"), 0, 1, 1
str = rs.GetString()
...
...
<select id="myLookup">
<%= str %>
</select>
你检查,如果你,如果你有同样的问题用相同数量的选项值提供html页面?如果是你,你可以消除ASP作为问题根源 – schudel 2014-10-07 08:22:54
刚才检查,它的速度更快撕心裂肺的HTML单独 – Emma 2014-10-07 09:11:14
@Emma您创建了一个带有''