仓酷云

标题: ASP网页编程之如何传送更多的数据在表单中 [打印本页]

作者: 变相怪杰    时间: 2015-1-16 23:22
标题: ASP网页编程之如何传送更多的数据在表单中
ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。数据request工具限定102,399bytes..
Whenyoupostalargeformfield,youmayreceivethefollowingerrormessage:

ErrorType:
Requestobject,ASP0107(0x80004005)
Thedatabeingprocessedisovertheallowedlimit.

InMicrosoftInternetInformationServer(IIS)4.0,youmayreceivethefollowingerrormessage:
RequestobjecterrorASP0107:80004005
StackOverflow
/projectname/page.asp,lineXX
Thedatabeingprocessedisovertheallowedlimit.


CAUSE
ThesizelimitofeachformfieldthatisretrievedintheRequestobjectis102,399bytes.Theerroroccurswhenyouexceedthislimit.


RESOLUTION
Toresolvethisproblem,useoneofthefollowingmethods:

InsteadofreadingformvariablevalueswiththeRequest.Formcollection,useRequest.BinaryRead(Request.TotalBytes),andparsetheformvaluesfromtheoutputofRequest.BinaryRead.


UseaFileUploadscheme,suchasMicrosoftPostingAcceptor.


BreaktheHTMLformvariablesintomultipleformvariablesbeforeyousubmittheform.The102,399bytelimitisforeachformvariable,soyoucanhavemultipleformvariablesof102,399charactersorless.Thefollowingsamplecodeillustratesthis:
WARNING:ANYUSEBYYOUOFTHECODEPROVIDEDINTHISARTICLEISATYOUROWNRISK.Microsoftprovidesthiscode"asis"withoutwarrantyofanykind,eitherexpressorimplied,includingbutnotlimitedtotheimpliedwarrantiesofmerchantabilityand/orfitnessforaparticularpurpose.

<FORMmethod=postaction=LargePost.aspname=theFormonsubmit="BreakItUp()">
<Textarearows=3cols=100name=BigTextArea>Abunchoftext...</Textarea>
<inputtype=submitvalue=go>
</form>

<SCRIPTLanguage=JavaScript>
functionBreakItUp()
{
//Setthelimitforfieldsize.
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>
ThereceivingActiveServerPage(ASP)pagereconstructsthevariable:
<%
DimBigTextArea

ForI=1ToRequest.Form("BigTextArea").Count
BigTextArea=BigTextArea&Request.Form("BigTextArea")(I)
Next
%>

</p>对用户来说可预见费用、节约费用,可以做到花少钱办大事。由于省去了购买软件和硬件等的前期费用,用户可以租用较高级的应用软件。ASP的收费是根据软件的类型、客制化程度、用户数量、服务期限来定的,对客户来说这笔费用是可以预见的。方便于客户应用软件的升级。
作者: 若天明    时间: 2015-1-20 09:44
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
作者: 仓酷云    时间: 2015-1-25 12:10
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
作者: 老尸    时间: 2015-1-26 12:52
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
作者: 金色的骷髅    时间: 2015-2-4 14:16
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
作者: 蒙在股里    时间: 2015-2-10 01:23
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
作者: 第二个灵魂    时间: 2015-2-28 10:45
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
作者: 柔情似水    时间: 2015-3-9 22:45
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
作者: 兰色精灵    时间: 2015-3-17 02:32
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
作者: 因胸联盟    时间: 2015-3-23 16:57
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2