ASP关于form提交大量文本域的解决办法

现有一个如下图一样的表单 里面的文本域 是通过FOR循环 产生的  具体条数没有限定  现在遇到的问题是如果传个几十条速度可以 但上百条就会很慢  

由于实际列数还不只这5列  有些列会跟据产品类型 会显示出来 有的产品没有相关类型就不显示  所以不好实现用EXL 上传

现在的主要问题是从 表单页提交到 执行页时很慢   实际执行页写入数据库速度是可以的  内容是通过EXL表格复制在里面的

 

 

代码如下

<form id="form1" name="form1" method="post" action="">
  <label>
  <input name="cpts" type="text" value="30" size="5" />
  </label>
  <label>
  <input type="submit" name="Submit" value="提交" />
  </label>
</form>
<br />
    <% if request("cpts")<>"" then %><!-- 要添加的产品条数不为空时打开产品添加界面 --> 
<form id="form2" name="form2" method="post"    action="cpfb2.asp"  >
  <table width="600" border="0" cellspacing="0" id="tbl">
    <tr>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
     <% 
    Dim p3 '通过指定的条数让列表循环指定的次数
 For p3 = 1 To request("cpts")
%>
    <tr>
      <td><input name="gg1<%=p3%>" type="text" value="&nbsp;"      /></td>
      <td><input name="gg2<%=p3%>" type="text" value="&nbsp;"   /></td>
      <td><input name="gg3<%=p3%>" type="text" value="&nbsp;"   /></td>
      <td><input name="gg4<%=p3%>" type="text" value="&nbsp;"  /></td>
      <td><input name="gg5<%=p3%>" type="text" value="&nbsp;"  /> </td>
      
     
 <input name="id" type="hidden"  value="<%=p3%>">
    </tr>
    <%
    Next 
%>
  </table><br />
    <input type="submit" name="Submit2" value="发布"/>

</form>
<p>
  <% end if %>    

 

 

写入页面如下

<%
Dim StarTime
StarTime = Timer()
%>
<% 


   


dim id4
id4=request.Form("id")
nid4=split(id4,", ")
eid4=ubound(nid4)
for i=0 to eid4
dim rs4,sql4
set rs4=server.CreateObject("adodb.recordset")
sql4="select * from cpbiao"
rs4.open sql4,db,3,3
rs4.AddNew()

rs4("gg1")=request.Form("gg1"&nid4(i))
rs4("gg2")=request.Form("gg2"&nid4(i))
rs4("gg3")=request.Form("gg3"&nid4(i))
rs4("gg4")=request.Form("gg4"&nid4(i))
rs4("gg5")=request.Form("gg5"&nid4(i))

rs4.update()
rs4.close
set rs4=nothing
next
db.close
set rs4=nothing


 %>
 <%
Dim EndTime
EndTime = Timer()
%>

运行时间:<%=FormatNumber((EndTime - StarTime)*1000,3)%>毫秒  <a href="index.asp" >返回</a>

写入代码发出来看下。你如何确定写入数据库块,而提交数据慢?

数据量大的话,提交慢还和你使用的带宽和服务器带宽有关

数据量如果很大,可以考虑用ajax分批提交,而不是一次性提交完毕。。这样服务器压力也没那么大~

对你有帮助能点个采纳吗,谢谢~~有什么问题可以继续问~

 

经过测试,客户端可以用pako.gzip压缩数据,内容重复多的话至少可以压缩1半左右,服务器端用Chilkat Gzip解压得到数据。有需要站内联系~~

建议如下:如有帮助,请采纳一下,谢谢!

 

1.用Request.BinaryRead()读取。
2. 大文本处理成多个小文本域,再提交

 

你应该试一下异步传输。