关于静态页生成问题 突破form数量限制_ASP教程-查字典教程网
关于静态页生成问题 突破form数量限制
关于静态页生成问题 突破form数量限制
发布时间:2016-12-29 来源:查字典编辑
摘要:我们知道生成静态页,一般用模板的方式,这个我是会的,现在我想直接将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

%>

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

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新ASP教程学习
    热门ASP教程学习
    编程开发子分类