因胸联盟 发表于 2015-1-16 23:46:47

ASP网页编程之Asp:Cookies使用指南,具体代码及教程

ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。cookie|cookies|教程|cookie实践上,在web开辟中,cookie仅仅是一个文本文件,当用户会见站点时,它就被存储在用户利用的盘算机上,个中,保留了
一些信息,当用户往后再次会见这个站点时,web能够将这些信息提掏出来。

  只管如今听起来cookie没有甚么冲动民气的,但实践上使用它,你能完成很多成心义的功效!好比说:你能够在站点上安排
一个查询拜访问答表,扣问会见者最喜好的色彩和字体,然后依据这些定制用户的web界面。而且,你还能够保留会见者的登录暗码,这
样,当会见者再次会见这个站点时,不必再输出暗码举行登录。

  固然,cookie也有一些不敷。起首,因为使用cookie的功效能够编程完成一些不良妄图,以是年夜多半的扫瞄器中都有平安设
定,个中能够设置是不是同意大概承受cookie,因而这就不克不及包管随时能利用cookie。再者,会见者大概成心大概偶然地删除
cookie。当会见者的呆板碰到“蓝屏”逝世机时,大概从头格局化硬盘、安装体系后,本来保留的cookie将全体丧失。最初一点,有
一些最后始的扫瞄器其实不能撑持cookie。

  使用cooklie能做甚么?

  有2种利用cookie的基础体例:
1、将cookie写进会见者的盘算机(利用RESPONSE命令)
2、从会见者的盘算机中取回cookie(利用REQUEST命令)

  创立cookie的基础语法

  Response.Cookies("CookieName")=value

  实行上面的代码将会在会见者的盘算机中创立一个cookie,名字=VisitorName,值=Ken
Response.Cookies("VisitorName")="Ken"

  实行上面的代码将会在会见者的盘算机中创立一个cookie,名字=VisitorName,值=表单中UserName的值
Response.Cookies("VisitorName")=Request.Form("UserName")

  读取cookie的基础语法

  Request.Cookies("CookieName")

  能够将Request值看成一个变量对待,实行上面的代码,将取回名字为KensCookie的cookie值,并存进变量MyVar:
MyVar=Request.Cookies("KensCookie")

  实行上面的代码,将判别名字为KensCookie的cookie值是不是为“Yes”:
IfRequest.Cookies("KensCookie")="Yes"then

  功效丰厚的cookie

  你能够扩大下面的代码成为Cookie子关头值(CookieSubName),代码以下:
Response.Cookies("VisitorName")("FirstName")="Ken"
Response.Cookies("VisitorName")("LastName")="Baumbach"

  解说例子前,最初会商2个观点:命令商定和利用到期工夫。

  定名商定

  同其他变量的定名一样,符合地、共同地定名cookie,有益于在程序中前后联贯地利用它。你可使用上面的1个大概2个
cookie属性举行cookie变量的定名:

  域属性(Domain):域属性标明cookie由哪一个网站发生大概读取,默许情形下,cookie的域属性设置为发生它的网站,但你
也能够依据必要改动它。相干代码以下:Response.Cookies("CookieName").Domain="www.mydomain.com"

  路径属性(Path):路径属性能够完成更多的平安请求,经由过程设置网站上准确的路径,就可以限定cookie的利用局限。比方:
Response.Cookies("CookieName").Path="/maindir/subdir/path"

  利用到期工夫

  一般情形下,当扫瞄器封闭时,一个cookie就不存在了。可是在很多时分,好比上面将要会商的web站点例子,我们但愿能更
长工夫地在会见者的盘算机上保留cookie。很侥幸,有如许的完成办法。上面的代码,就能够设置cookie的利用到期工夫为2010年
1月1日:
Response.Cookies("CookieName").Expires=#January01,2010#

  实行上面的代码,将设定cookie的过时工夫为“cookie的创立工夫+365日”:
Response.Cookies("CookieName")=Date+365

  利用cookie的实践例子(十分出色)

  如今入手下手会商实践的例子。假定:你想做一个查询拜访,每一个人初度会见时必要填写好信息,可是当往后再会见时,就不必要再那
么做。使用cookie,就能够十分美满地办理这个成绩,而年夜可不用用到数据库。

<%@LANGUAGE="VBSCRIPT"%>
<%
Survey=Request.Cookies("KensSurvey")
IfSurvey=""then
Response.Cookies("KensSurvey")="x"
Response.Cookies("KensSurvey").Expires=#January01,2010#
Response.Redirect"survey.asp"
Else
restofthepage
Endif
%>
  好,上面入手下手重新会商下面的代码。

  起首,初始设置页面,并读取名字为KensSurvey的cookie值:


<%@LANGUAGE="VBSCRIPT"%>
<%
Survey=Request.Cookies("KensSurvey")
  然后,判别是不是已存在cookie值:

IfSurvey=""then
  假如不存在,就创立并设置cookie,并转到页面survey.asp。当下一次会见时,由于存在cookie值,就不会再转到
survey.asp页面。

Response.Cookies("KensSurvey")="x"
Response.Cookies("KensSurvey").Expires=#January01,2010#
Response.Redirect"survey.asp"
  假如cookie已存在,那末会见者将实行页面中残剩的代码:

restofthepage

Endif
%>
  例子2

  这里有别的一个复杂的例子:当会见者第1次扫瞄某个站点时,向他们显现接待信息。代码以下:

<%@LANGUAGE="VBSCRIPT"%>
<%
RequestName=Request.Form("Name")
RequestLeaveMeAlone=Request.Form("LeaveMeAlone")
IfRequestName""orRequestLeaveMeAlone""then
Response.Cookies("MySiteVisitorName")=RequestName
Response.Cookies("MySiteVisitorName").Expires=#January01,2010#
Response.Cookies("MySiteLeaveMeAlone")=RequestLeaveMeAlone
Response.Cookies("MySiteLeaveMeAlone").Expires=#January01,2010#
Endif
VisitorName=request.cookies("MySiteVisitorName")
LeaveMeAlone=request.cookies("MySiteLeaveMeAlone")

IfVisitorName=""andLeaveMeAlone=""then
%>
<HTML><HEAD></HEAD>
<bodybgcolor="#ccffff"text="black"link="navy"vlink="purple">
<DIVALIGN="CENTER">
<formaction="index.asp"method="POST">
<H2>Letsbefriends</H2>
Whatsyourname(leaveblankandhittheSubmitbuttonifyoudontwantusto
know)?
<inputtype="text"name="name"><BR><BR>
<inputtype="hidden"name="LeaveMeAlone"value="x">
<inputtype="submit"value="Submit">
</FORM>
</DIV>
</BODY>
<%
Endif
IfVisitorName""then
Response.write"Hi,"&VisitorName&"!Ihopeyouarehavingagreatday!"
Endif
resto
ASP.NET和ASP的比较,技术上比较已经没什么可说的了.新一代在大部分程度来说当然是比旧一代好了.关键看你对所做软件的理解了.因人而定.会写的话也可能比ASP.NET写得更有效率和更方便重用

若天明 发表于 2015-1-20 11:43:53

那么,ASP.Net有哪些改进呢?

老尸 发表于 2015-1-26 16:49:48

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?

因胸联盟 发表于 2015-2-2 22:06:21

哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?

爱飞 发表于 2015-2-8 10:00:26

尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。

小妖女 发表于 2015-3-7 18:25:49

用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

愤怒的大鸟 发表于 2015-3-15 11:10:30

下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。

admin 发表于 2015-3-22 00:12:21

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
页: [1]
查看完整版本: ASP网页编程之Asp:Cookies使用指南,具体代码及教程