|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。利用ASPRequest工具,您能够创立一个复杂而功效壮大的剧本来搜集和处置HTML表格数据。在本主题中,您将不但学会怎样创立基础的表格处置剧本,并且还将取得用于考证Web服务器和用户扫瞄器上的表格信息的一些有效手艺。 关于HTML表格
HTML表格是搜集Web信息最经常使用的办法,是在Web页上供应用户界面控件的特别的HTML标志的分列。文本框、按钮和复选框都是典范的控件,这些控件利用户和Web页完成交互,而且将信息提交给Web服务器。
上面的HTML示例发生一个表格,在表格中,用户能够输出姓名、岁数并包括一个将这些信息提交给Web服务器的按钮。该表格也包括了一个隐含的控件(Web扫瞄器不显现),能够用该控件向Web扫瞄器传送附加信息。
<FORMMETHOD="POST"ACTION="myfile.asp">
<INPUTTYPE="text"NAME="firstname">
<INPUTTYPE="text"NAME="lastname">
<INPUTTYPE="text"NAME="age">
<INPUTTYPE="hidden"NAME="userstatus"VALUE="new">
<INPUTTYPE="submit"VALUE="Enter">
</FORM>
处置ASP输出的表格
在表格向Web服务器提交信息时,用户的Web扫瞄器哀求用HTML<FORM>标志的ACTION属性所指定的.asp文件(在后面的例子中,该文件被称为Myfile.asp)。.asp文件包括了处置表格值(如显现了局表或从数据库查询信息)的剧本。
能够经由过程三种路子用.asp文件搜集HTML表格的值
静态的.htm文件能够包括一个将其数值邮送给.asp文件的表格。.asp文件能够创立一个将其信息邮送给另外一个.asp文件的表格。.asp文件能够创立一个将其信息邮送给本身的表格,即包括该表格的文件。
前两个办法的操纵体例不异,当表格与网关程序交互时,除ASP以外,能够包括读取和呼应用户选择的命令。
创立一个包括表格界说且传送信息给本身的.asp文件较庞大,但倒是有很强功效的处置表格的办法。这一历程在考证表格输出中演示。
取得表格输出
ASPRequest工具供应了两种汇合,在很年夜水平上简化了检索附加在URL哀求上的表格信息的义务。
QueryString汇合
QueryString汇合猎取作为跟在哀求的URL的问号前面的文本传送给Web服务器的值。经由过程利用HTTPGET办法或手工将表格的值增加到URL,表格的值能够被附加在哀求的URL以后。
比方,假如先前的表格示例利用GET办法(ACTION="GET")且用户键进Jeff、Smith和30,那末上面的URL哀求将被发送给服务器:
http://scripts/Myfile.asp?firstname=Jeff&lastname=Smith&age=30&userstatus=new
Myfile.asp包括上面的表格处置剧本:
Hello,<%=Request.QueryString("firstname")%><%=Request.QueryString("lastname")%>.
Youare<%=Request.QueryString("age")%>yearsold.
<%
IfRequest.QueryString("userstatus")="newuser"then
Response.Write"ThisisyourfirstvisittothisWebsite!"
Endif
%>
在这类情形下,Web服务器将前往上面的文本给用户的Web扫瞄器:
Hello,JeffSmith.Youare30yearsold.ThisisyourfirstvisittothisWebsite!
QueryString汇合有一个可选参数,可用来会见显现在哀求注释中的多个值中的一个。也能够利用Count属性盘算一个特别范例的值的呈现次数。
比方,表格包括一个多项目标列表框能够提交上面的哀求:
http://list.asp?food=apples&food=olives&food=bread
您也能够利用上面的命令往对多个值计数:
Request.QueryString("food").Count
假如想显现多个值的范例,List.asp应包括上面的剧本;
<%Total=Request.QueryString("food").Count%>
<%Fori=1toTotal%>
<%=Request.QueryString("food")(i)%><BR>
<%Next%>
上述剧本将显现:
apples
olives
bread
Form汇合
当利用HTTPGET办法去处Web服务器传送长而庞大的表格值时,将大概丧失信息。年夜多半的Web服务器偏向于严厉把持URL查询字符串的长度,以便用GET办法传送的冗杂的表格值被截断。假如您必要从表格发送大批信息到Web服务器,就必需利用HTTPPOST办法。此法用于在HTTP哀求注释中发送表格数据,并且发送的字符的个数能够无穷多。也能够利用ASPRequest工具的Form汇合检索用POST办法发送的值。
Form汇合与QueryString汇合存储数值的体例不异。比方,假如用户用一长串称号添补表格,您就能够用上面的剧本检索这些称号:
<%Fori=1toRequest.Form.Count%>
<%=Request.Form("names")(i)%>
<%Next%>
考证表格输出
一个好的表格处置剧本在处置数据前,应先考证输出表格的信息是不是无效。考证剧本能够查验用户输出到表格的信息范例是不是准确。比方,假如您的Web站点包括一个表格,该表格同意用户盘算财政信息,那末在处置了局之前,必要考证用户的确输出了数值信息而不是文本。
一个十分便利的考证表格输出的办法是创立一个向本身传送信息的表格。在这类情形下,.asp文件包括可猎取信息的表格。比方,上面的剧本经由过程向本身传送信息来考证用户是不是在"age"表格字段中输出了数值:
<%IfIsnumeric(Request.QueryString("Age"))then%>
<p>Hello,yourageis<%=Request.QueryString("age")%>
<%Else%>
<p>Pleaseenteranumericalage.
<%EndIf%>
<FORMMETHOD="POST"ACTION="verify.asp">
Name:<INPUTTYPE="text"NAME="Name">
Age:<INPUTTYPE="text"NAME="Age">
<INPUTTYPE="submit"VALUE="Enter">
</FORM>
在这个例子中,剧本也在包括表格的统一Verify.asp文件中。表格经由过程在ACTION属性中指定Verify.asp向本身传送信息。
您也能够创立客户端剧本来查验用户是不是输出了无效的信息。考证用户在Web扫瞄器上的输出除更敏捷地向用户提醒表格项毛病外,还能够削减Web服务器的收集流量。上面的剧本运转在用户的Web扫瞄器上,在将信息提交到Web服务器之前,考证用户信息。
<SCRIPTLANGUAGE="VBScript">
<!--
SubbtnEnter_OnClick
DimTheForm
SetTheForm=Document.MyForm
IfIsNumeric(TheForm.Age.Value)Then
TheForm.submit
Else
Msgbox"Pleaseenteranumericalage."
Endif
EndSub
//-->
</SCRIPT>
<FORMMETHOD="POST"NAME=MyFormACTION="myfile.asp">
Name:<INPUTTYPE="text"NAME="Name">
Age:<INPUTTYPE="text"NAME="Age">
<INPUTTYPE="button"NAME="btnEnter"VALUE="Enter">
</FORM>
ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。 |
|