手机
当前位置:查字典教程网 >编程开发 >ASP教程 >关于静态页生成问题 突破form数量限制
关于静态页生成问题 突破form数量限制
摘要:我们知道生成静态页,一般用模板的方式,这个我是会的,现在我想直接将ASP文件生成的HTML代码存成静态页,这个非常适合做首页,于时我在网上找...

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

下面是转贴:

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

下面是微软提供的几个解决方法:

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

2、使用文件上传方案,比如:microsoftpostingacceptor;

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

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

复制代码 代码如下:

<formmethod=postaction=largepost.aspname=theformonsubmit="breakitup()">

<textarearows=3cols=100name=bigtextarea>abunchoftext...</textarea>

<inputtype=submitvalue=go>

</form>

<scriptlanguage=javascript>

functionbreakitup()

{

//setthelimitforfieldsize.

//如果内容有中文的字符的话,可以设置为:51100

varformlimit=102399

//getthevalueofthelargeinputobject.

vartempvar=newstring

tempvar=document.theform.bigtextarea.value

//ifthelengthoftheobjectisgreaterthanthelimit,breakit

//intomultipleobjects.

if(tempvar.length>formlimit)

{

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

tempvar=tempvar.substr(formlimit)

while(tempvar.length>0)

{

varobjtextarea=document.createelement("textarea")

objtextarea.name="bigtextarea"

objtextarea.value=tempvar.substr(0,formlimit)

document.theform.appendchild(objtextarea)

tempvar=tempvar.substr(formlimit)

}

}

}

</script>

接受数据页主要代码:

<%

dimbigtextarea

fori=1torequest.form("bigtextarea").count

bigtextarea=bigtextarea&request.form("bigtextarea")(i)

next

%>

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

【关于静态页生成问题 突破form数量限制】相关文章:

编写asp代码截取字符串

一搜图片搜索小偷

网站生成静态页面攻略3:防采集策略

学习ASP和编程的28个观点

突破空格的限制

详细讲解ASP脚本循环语句

asp 判断数字是否整形

动态网页怎么制作呢?

asp ubb代码转换成html代码

ASP关于页面缓存清除的方法小结

精品推荐
分类导航