程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> 關於靜態頁生成問題 突破form數量限制

關於靜態頁生成問題 突破form數量限制

編輯:關於ASP編程
我們知道生成靜態頁,一般用模板的方式,這個我是會的,現在我想直接將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、使用文件上傳方案,比如: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 
%> 

第一種也是有限制,我采用了第三種,終於成功了。  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved