我是靠谱客的博主 鲤鱼洋葱,最近开发中收集的这篇文章主要介绍关于静态页生成问题 突破form数量限制,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我们知道生成静态页,一般用模板的方式,这个我是会的,现在我想直接将ASP文件生成的HTML代码存成静态页,这个非常适合做首页,于时我在网上找这方面的内容,找到这个:《不用模板只用ASP+FSO生成静态HTML页的一个方法》:http://www.uoften.com/html/200609/984.htm,我试了一下,一般能办,但文件大时,就会出错,到底是什么原因呢?是textarea存储的文件有限制还是其他,反复上网查,同时在IECN发表帖子求助,我反复试验,发现是表单有限制,在网上找到了解决FORM的限制问题,

下面是转贴:

当表单发送的数据量很大时,就会报错。查阅msdn了解到,原因是微软对用request.form()可接收的最大数据有限制,iis4中为80k字节,iis5中为100k字节。 
  下面是微软提供的几个解决方法: 

1、用request.binaryread 代替 request.form方法 来解析表单数据; 

2、使用文件上传方案,比如:microsoft posting acceptor; 

3、由于102399字节的限制是对每个表单元素的,所以在提交时,把表单元素内容大于102399的分隔成多个表单元素来提交。 

下面为示例代码:(微软提醒:下面代码不一定完全适用特定的需要,不对使用这些代码产生的后果负责!) 

复制代码 代码如下:

<form method=post action=largepost.asp name=theform onsubmit="breakitup()"> 
<textarea rows=3 cols=100 name=bigtextarea>a bunch of text...</textarea> 
<input type=submit value=go> 
</form> 
<script language=javascript> 
function breakitup() 

//set the limit for field size. 
//如果内容有中文的字符的话,可以设置为:51100 
var formlimit = 102399 
//get the value of the large input object. 
var tempvar = new string 
tempvar = document.theform.bigtextarea.value 
//if the length of the object is greater than the limit, break it 
//into multiple objects. 
if (tempvar.length > formlimit) 

document.theform.bigtextarea.value = tempvar.substr(0, formlimit) 
tempvar = tempvar.substr(formlimit) 
while (tempvar.length > 0) 

var objtextarea = document.createelement("textarea") 
objtextarea.name = "bigtextarea" 
objtextarea.value = tempvar.substr(0, formlimit) 
document.theform.appendchild(objtextarea) 

tempvar = tempvar.substr(formlimit) 



</script> 



接受数据页主要代码: 

<% 
dim bigtextarea 
for i = 1 to request.form("bigtextarea").count 
bigtextarea = bigtextarea & request.form("bigtextarea")(i) 
next 
%> 

第一种也是有限制,我采用了第三种,终于成功了。  

最后

以上就是鲤鱼洋葱为你收集整理的关于静态页生成问题 突破form数量限制的全部内容,希望文章能够帮你解决关于静态页生成问题 突破form数量限制所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(134)

评论列表共有 0 条评论

立即
投稿
返回
顶部