仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 529|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网站制作之ASP 3.0初级编程(二十四)

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:47:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;
谁可相欹 该用户已被删除
沙发
发表于 2015-1-25 05:31:18 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
兰色精灵 该用户已被删除
板凳
发表于 2015-1-26 16:35:55 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
山那边是海 该用户已被删除
地板
发表于 2015-2-4 16:14:06 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
若相依 该用户已被删除
5#
发表于 2015-2-10 03:59:44 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
admin 该用户已被删除
6#
发表于 2015-2-28 19:14:43 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
老尸 该用户已被删除
7#
发表于 2015-3-10 05:31:28 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
柔情似水 该用户已被删除
8#
发表于 2015-3-17 04:51:01 | 只看该作者
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
简单生活 该用户已被删除
9#
发表于 2015-3-23 19:47:00 | 只看该作者
Session:这个存储跟客户端会话过程的数据,默认20分钟失效
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 04:03

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表