问题状况:提交表单时,文本域里内容少时很正常,但内容如果太多,点“提交”后网页进度条一直处于读取状态,但无法正常提交,浏览器可能还会死掉无法操作。
问题分析:经断点测试,程序还未运行到保存数据的状态,也就是说问题是出在问题是出在提交的步骤,还未到处理数据的步骤。经查阅资料,网页上对文本域内的内容是有限制的,最大容量是 102,399 字节,当超过该限制时提交表单就可能会发生错误。
解决方案:
此答复摘自微软官方网站,翻译是机器自动翻译的,不是很准。但意思明白就行了,呵呵
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;Q273482 
症状 
当张贴在 Microsoft Internet Information Services 5.0, 大型表单域可能会收到以下错误信息: 
错误类型: 
请求对象, ASP 0107 (0x80004005) 
数据处理已超过允许的限制。 
当张贴 Microsoft Internet Information Server 4.0, 中大表单字段可能会收到以下错误信息: 
请求对象错误 ASP 0107: 80004005'' 
堆栈溢出 
/projectname/page.asp, 行 .XX 
数据处理已超过允许的限制。 
回到顶端 
原因 
大小限制的被 请求 对象中检索每个窗体域是 102,399 字节。 当超过该限制时发生错误。 
回到顶端 
解决方案 
要解决此问题, 请使用下列方法之一: • 不用读取表单使用 Request.Form 集合, 变量值使用 Request.BinaryRead (Request.TotalBytes) , 并分析来自 Request.BinaryRead 的输出形式值。 
• 使用文件上载方案, Microsoft PostingAcceptor 如。 
• HTML 表单变量之前您提交表单断开到多个窗体变量。 对于每个窗体变量, 102,399 字节限制是多表单变量的 102,399 字符以内因此您可具有。 以下示例代码阐释此: WARNING BY USE 任何 CODE 按 IN THIS ARTICLE IS AT YOUR OWN RISK 你 OF THE: Microsoft 提供此代码 " 按原样 " 担保的任何类型, 明示或暗示, 包括但不限于适销性和/或用于特定目的适用性的暗示保证。 
<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. 
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> 
接收 Active Server Page (ASP) 页 reconstructs 变量: 
<% 
Dim BigTextArea 
For I = 1 To Request.Form("BigTextArea").Count 
BigTextArea = BigTextArea & Request.Form("BigTextArea")(I) 
Next 
%>