|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。编程|初级(1)创立一个内容页面
我们已利用ContentLinking组件为本章供应的示例创立了菜单页面。Chapter06文件夹中的页面Default.htm接纳上述代码创立菜单,如-2所示:
-2利用ContentLinking组件创立的菜单页面
能够看到内容链接列表文件的内容显现在链接的上面,我们利用FileSystemObject工具完成这一事情。
<%
createaninstanceofaFileSystemObjectobject
SetobjFSO=Server.CreateObject("Scripting.FileSystemObject")
openthetextfileasaTextStreamobject
SetobjTStream=objFSO.OpenTextFile(Server.MapPath("contlink.txt"),ForReading)
Response.WriteobjTStream.ReadAllreadthewholefileandputintopage
ObjTStream.Close
%>
假如你编纂了contlink.txt文件,下次再次挪用这个页面时,会看到菜单的条目产生了变更。注重文件中的最初三个条目,这三个条目利用后面先容的redirect.asp手艺,把相对(而不是绝对)的URL拔出到列表中。
(2)扫瞄这些页面
创立一个ContentLinking组件实例而且利用它的一个办法时,将把以后页面的URL与指定的内容链接列表文件中的条目相婚配。不但能用该组件创立一个内容列表(就像刚看到的那样),并且当在扫瞄器上翻开个中一个页面时,能够用该组件对列表中的各个页面举行导航。
这意味着能够用超链接或按钮从这些页面中的一个移到另外一个。比方,能够给页面增加Next和Back按钮,经由过程利用GetNextURL和GetPreviousURL办法能晓得列表中的哪个页面是前一个,哪个页面是下一个。另外一方面,能用GetNthURL办法跳到列表中的任何页面,用GetListIndex办法能晓得以后页面在列表中的地位。
上面是一段给页面增加Next和Back按钮的代码,我们要做的只是把这段程序放在内容链接文件所列出的每页中,大概用SSI的#include指令将它拔出个中。
<!--needaformtoforceNavigatortodisplaythebuttons-->
<FORMACTION="">
<%
wellinsertthisintoeachpageusinganSSI#includestatement
createaninstanceoftheContentLinkingcomponent
SetobjNextLink=Server.CreateObject("MSWC.NextLink")
setthecontentlinkinglistfilepathandname
strListFile="contlink.txt"
gettheindexofthecurrentpageinthelist
intThisPage=objNextLink.GetListIndex(strListFile)
IfintThisPage>1Thencangoback
%>
<INPUTTYPE=BUTTONVALUE="<Back"
ONCLICK="location.href=<%=objNextLink.GetPreviousURL(strListFile)%>;"
TITLE="Goto<%=objNextLink.GetPreviousDescription(strListFile)%>">
<%
EndIf
%>
<INPUTTYPE=BUTTONVALUE="Menu"ONCLICK="location.href=default.asp;"
TITLE="ReturntothemainInstallableComponentsmenu">
<%
IfintThisPage<objNextLink.GetListCount(strListFile)Thencangoforward
%>
<INPUTTYPE=BUTTONVALUE="Next>"
ONCLICK="location.href=<%=objNextLink.GetNextURL(strListFile)%>;"
TITLE="Goto<%=objNextLink.GetNextDescription(strListFile)%>">
<%
EndIf
%>
</FORM>
第一步是创立ContentLinking组件,然后把列表文件名存进一个变量中,以便前面在创立页面里的客户端JScript代码时可以利用这个列表文件。别的如许做也便于页面的保护,由于假如想利用一个分歧文件名仅需在一个中央改动就能够了。
如今让我们懂得一下在链接列表中所处的地位。GetListIndex办法供应以后页面的索引号,从列表中的第一页入手下手。假如以后页面的索引号比1年夜,那末能够前进,以是我们在页面中创立Back按钮。假如以后页面的索引号比列表中的项数少,创立Next按钮。页面中老是包含一个Home按钮,以便会见者在任什么时候候都能容易地前往到内容页面。
假如翻开列在主菜单中的页面之一的话,将会看到利用这项手艺在每一个页面上创立的一系列导航按钮,创立按钮的代码在文件contlinkbuttons.inc中,可用#include指令将它拔出每一个页面中。-3所示为带有按钮的界面。
-3带有按钮的界面
在-3中有三个按钮,利用GetPreviousDescription办法取得上个页面的链接文件,并把这个文本放进Back按钮的TITLE属性中,作为弹出的提醒。
<INPUTTYPE=BUTTONVALUE="<Back"
ONCLICK="location.href=<%=objNextLink.GetPreviousURL(strListFile)%>;"
TITLE="Goto<%=objNextLink.GetPreviousDescription(strListFile)%>">
Next按钮接纳GetNextDescription办法完成相似的事情。
(3)用JavaScript跳转
这些导航按钮利用JavaScript(而不是VBScript)装载新页面,如许就可以够和年夜多半古代扫瞄器兼容。比方Back按钮包括上面的属性:
ONLICK="location.here=<%=objNextLink.GetPreviousURL(strListFile)%>;"
当页面的HTML版本由ASP创立时,在<%…%>标志中的表达式用其数值代替,以是发往扫瞄器的网页看起来以下所示:
ONCLICK="location.herf=permissionchecker.asp;"
为何选择利用变量来暗示内容链接列表文件的名字?其缘故原由是在单个语句中包含一个三层的嵌套援用长短常贫苦的。
注重扫瞄器的缺省言语是JavaScript(或IE中的JScript),而不是VBScript,经由过程利用Ja</p>ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失; |
|