ASPnet开发环境和内置对象市公开课一等奖省赛课获奖课件_第1页
ASPnet开发环境和内置对象市公开课一等奖省赛课获奖课件_第2页
ASPnet开发环境和内置对象市公开课一等奖省赛课获奖课件_第3页
ASPnet开发环境和内置对象市公开课一等奖省赛课获奖课件_第4页
ASPnet开发环境和内置对象市公开课一等奖省赛课获奖课件_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.1一个简单ASP.NET应用程序3.2关于ASP.NET3.3ASP.NET控件和内置对象

Response Request Session Application Cookie第3

-1章开发环境和内置对象ASPnet开发环境和内置对象第1页3.1一个简单ASP.NET应用程序3.1.1创建ASP.NET应用程序【例11.1】基于C#简单ASP.NET应用程序。这是一个简单ASP.NET应用程序,其作用是将文本框中输入字符串显示在网页上。创建步骤以下:(1)开启VS,选择“文件”|“新建”|“项目”,打开“新建项目”对话框。在此对话框“项目类型”框中选择“VisualC#”项,在“模板”框中选择“ASP.NETWeb应用程序”,表示要创建基于C#ASP.NET应用程序,将程序名设置为MyFirstWebApp:ASPnet开发环境和内置对象第2页(2)单击【确定】按钮,然后在生成界面“处理方案资源管理器”中右击“Default.aspx”节点,在弹出菜单中选择“视图设计器”,以可打开页面视图设计器。(3)将工具箱中三个控件拖到设计界面中,这三个控件分别是Label、TextBox和Button控件,并适当设置它们属性和位置:3.1一个简单ASP.NET应用程序3.1.1创建ASP.NET应用程序ASPnet开发环境和内置对象第3页(4)在设计界面中,双击【访问控件】按钮,即可进入到该按钮事件处理函数中,实际上是在Default.aspx.cs文件中生成了Button1_Click函数。在该函数中,添加以下代码:

Label1.Text=TextBox1.Text;Label1.Font.Size=20;(5)运行程序MyFirstWebApp。方法是:按【Ctrl】+【F5】按钮直接运行,也能够单击快捷菜单栏上“开启调试”按钮(相当于按【F5】)。在打开IE浏览器界面文本框中输入一些字符串,然后单击【访问控件】按钮:——至此,一个简单ASP.NET应用程序开发完成。3.1一个简单ASP.NET应用程序3.1.1创建ASP.NET应用程序ASPnet开发环境和内置对象第4页读者可能注意到,即使做是网页程序,但没有感觉到要编写任何网页代码(编写HTML代码是一件烦杂事情),而只是进行控件拖放、控件属性设置以及C#代码编写,这与开发C#窗体应用程序几乎没有什么区分。这是ASP.NET对Web应用程序设计极大改进。造成这种改进主要是因为.NET平台采取了界面和代码分开策略,即网页文件放在Default.aspx文件中,而C#代码则放在Default.aspx.cs文件中。3.1一个简单ASP.NET应用程序3.1.1创建ASP.NET应用程序Default.aspx.cs文件是与页面元素相关联C#文件,它就是ASP.NET代码隐藏地方。对ASP.NET应用程序来说,这里就是程序员“用武之地”。前面指出“界面元素和代码分开”,指就是将程序文件分为ASP.NET应用中.aspx文件和.aspx.cs文件。ASPnet开发环境和内置对象第5页ASP(ActiveServerPages)是Microsfot企业于1996年11月推出面向WEB应用程序开发技术框架,但它不是程序设计语言,也不是开发工具。简单地,ASP主要是由“<%”和“%>”挂起来代码嵌入到HTML中一个技术。这些代码是在服务器端执行,执行时无需编译,能够用任何文本编辑器编写(如记事本等)。另外,ASP能够经过内置组件实现更强大功效,如使用ADO能够轻松地访问数据库。ASP.NET则是从HTML发展到ASP,然后伴伴随微软.NET技术推出而出现。ASP.NET不是ASP简单升级,而是全新一代动态网页开发系统,用于在一台Web服务器上建立强大应用程序。它是Microsoft.NET技术一个组成部分,是ASP和.NET技术结合产物。在MicrosoftVisualStudio/中,利用.NET提供控件,可快速开发ASP.NET应用程序,大大简化了编码过程。3.2关于ASP.NET3.1.1创建ASP.NET应用程序ASPnet开发环境和内置对象第6页相对ASP而言,ASP.NET含有主要优势包含:实现界面和代码分开编译执行使用强类型(strongly-type)编程语言3.2关于ASP.NET3.1.1创建ASP.NET应用程序ASP.NET主要包含两种编程模型:WebForm:提供了建立功效强大、外观丰富基于表单(Form)可编程Web页面,这几乎与VB.NET、C#.NET窗体开发界面是一样WebService

:经过对HTTP、XML、SOAP、WSDL等Internet标准支持提供在异构网络环境下获取远程服务、连接远程设备、交互远程应用编程界面ASPnet开发环境和内置对象第7页ASP.NET提供了大量控件,当用户将控件拖到Web窗体设计界面时,会自动生成对应HTML代码和C#代码。这为Web应用程序可视化界面设计提供极大便利,防止了使用HTML标识语言编写大量代码麻烦。ASP.NET控件主要分为两大类:Web窗体控件和HTML控件:3.3ASP.NET控件和对象3.3.1ASP.NET控件ASPnet开发环境和内置对象第8页对于Web窗体控件和HTML控件,需要注意以下几点:

(1)Web窗体控件是服务器端控件,即它们在服务器端运行,所以不要求客户端浏览器支持Web窗体控件(如不要求安装.NETFramework等),我们在浏览器看到只是这些控件运行后输出结果;HTML控件是客户端控件,只有浏览器支持这些控件,它们才能运行。(2)Web窗体控件是以C#

为脚本语言,其功效十分强大。HTML控件则以javascript等为脚本语言,其功效较前者弱得多。(3)在设计界面上,当双击Web窗体控件时,会自动在.cs文件中形成并打开控件Click事件处理函数(C#语言),以供用户编写代码;当双击HTML控件时,则会自动在.aspx文件中形成并打开控件onclick事件处理函数(javascript语言)。3.3ASP.NET控件和对象3.3.1ASP.NET控件ASPnet开发环境和内置对象第9页【例11.2】使用ASP.NET控件实现页面之间传递数据ASP.NET应用程序。本例介绍怎样使用QueryString来处理这个问题。3.3ASP.NET控件和对象3.3.1ASP.NET控件(1)在VS中创建一个ASP.NET应用程序testWebControlApp。(2)添加一个Web页,方法是:选择“项目”|“添加新项”,在打开“添加新项”对话框中选择“Web窗体”。(3)在视图设计器中打开文件Default.aspx设计界面,然后在其设计界面中分别添加2个Label控件、2个TextBox控件和1个Button控件,并在属性编辑器中修改Label和Button控件Text属性、将TextBox控件ID分别改为username和password,还将后一个TextBox控件TextModel属性值设置为password,以将框作为密码输入框。设计界面以下:ASPnet开发环境和内置对象第10页(4)在视图设计器中打开文件WebForm1.aspx设计界面,在设计界面中直接添加2个Label控件即可,它们ID自动被设置为Label1和Label2。(5)在文件Default.aspx设计界面中,双击【登录】按钮,在产生Click事件处理函数中添加以下代码:

stringdataStr;dataStr="WebForm1.aspx?username="+username.Text+"&password="+password.Text;Response.Redirect(dataStr);(6)在文件WebForm1.aspx设计界面中,双击任意一个空白处,将自动产生Page_Load函数,在该函数中添加以下代码:Label1.Text=Request.QueryString["username"];Label2.Text=Request.QueryString["password"];3.3ASP.NET控件和对象3.3.1ASP.NET控件ASPnet开发环境和内置对象第11页(7)运行文件Default.aspx,在文本框中输入用户名和密码。然后单击【登录】按钮,结果输入用户名和密码被传送到文件WebForm1.aspx对应页面中。3.3ASP.NET控件和对象3.3.1ASP.NET控件——从运行结果能够看到,Default.aspx页面中数据已经成功传送到WebForm1.aspx页面中。ASPnet开发环境和内置对象第12页ASPnet开发环境和内置对象第13页1.Response对象系统依据用户请求(打开一个页面)自动创建一个Response对象。该对象用于向客户端传递或输出相关信息,这些信息包含用户定义内容、内容报头、服务器状态等。其惯用属性和方法包含:Buffer属性该属性用于设置服务器端是否开启缓存功效。假如其值为true,表示开启IIS缓存功效,这时服务器会处理整个页面后再发给客户端,这么用户就能够看到连续界面,当然这是以牺牲服务器内存资源为代价;假如其值为false,表示不开启IIS缓存功效,这时服务器会一边处理一边发送,这时用户看到界面可能是间断。Expires属性该属性值表示页面使用期,单位为分钟。假如用户请求其使用期满之前相同页面,将直接读取显示缓冲区中内容,这个使用期间过后,页面将不再保留缓冲区中内容。3.3ASP.NET控件和对象3.3.2ASP.NE惯用对象ASPnet开发环境和内置对象第14页Write()方法该方法用于向客户端输出指定内容,由客户端解释执行。比如:Response.Write("今天日期时间:");Response.Write(DateTime.Now.ToString());Redirect()方法该方法用于重定向到指定URL。比如:Response.Redirect("/");//重定向到“搜狐”主页Response.Redirect("WebForm1.aspx");//重定向到WebForm1.aspx页面也能够在重定向同时传递一些数据,比如,以下语句在重定向到WebForm1.aspx页面同时传递字符串“abc”:Response.Redirect("WebForm1.aspx?strname="+"abc");3.3ASP.NET控件和对象3.3.2ASP.NE惯用对象ASPnet开发环境和内置对象第15页AddHeade()方法增加HTTP头集合中元素。如:Response.AddHeader("headname","headvalue");Clear()方法该方法用于清空IIS缓冲区中内容(Response.Buffer为True时)。Flush()方法执行该方法时,将IIS缓冲区中内容发给客户端(Response.Buffer为True时),对客户端来说,其作用就是刷新网页。End()方法当程序执行到该方法时,将终止脚本处理,起到终止程序继续运行作用。3.3ASP.NET控件和对象3.3.2ASP.NE惯用对象ASPnet开发环境和内置对象第16页2.Request对象当客户端浏览器向ASP.NET服务器端程序发出请求时,服务器端程序将针对请求答应信息封装在Request对象中,客户端经过调用Request对象属性和方法能够获取想要信息。Request对象惯用属性和方法包含:ApplicationPath属性返回服务器上ASP.NET应用程序虚拟根路径(string类型)。Path属性返回当前请求页虚拟路径(包含请求页对应

.aspx文件名)。PhysicalPath属性返回与请求URL相对应物理文件系统绝对路径(包含请求页对应

.aspx文件名)。3.3ASP.NET控件和对象3.3.2ASP.NE惯用对象ASPnet开发环境和内置对象第17页PhysicalApplicationPath属性返回当前正在执行服务器应用程序根目录在物理文件系统中绝对路径。ContentLength属性返回所取得内容长度。ContentEncoding属性返回所取得内容编码方式。ContentType属性返回所取得内容类型。Headers属性返回HTTP头集合。3.3ASP.NET控件和对象3.3.2ASP.NE惯用对象ASPnet开发环境和内置对象第18页HttpMethod属性返回客户端使用HTTP数据传输方法,如GET、POST或HEAD。Url属性返回当前请求URL。Browser属性这个属性返回浏览器相关信息,这些信息十分丰富,包含浏览器是否支持ActiveX控件、是否为测试版、浏览器名称和版本号等信息。UserHostAddress属性返回客户机IP地址(string类型)。利用这个属性能够拒绝恶意用户访问。UserHostName属性返回客户机DNS名称。3.3ASP.NET控件和对象3.3.2ASP.NE惯用对象ASPnet开发环境和内置对象第19页QueryString属性该属性返回URL所带附加信息项集合,集合类型为System.Collections.Specialized.NameValueCollection,通惯用于实现页面之间数据传递。3.3ASP.NET控件和对象3.3.2ASP.NE惯用对象比如,下面语句重定向到WebForm1.aspx页面,同时传递三个信息项:Response.Redirect("WebForm1.aspx?s1=str1&s2=str2&s3=str3");在WebForm1.aspx页面中能够用下面三条语句分别获取这三项信息:strings;s=Request.QueryString["s1"];//结果s="str1"s=Request.QueryString["s2"];//结果s="str2"s=Request.QueryString["s3"];//结果s="str3"当然,也能够经过下标访问集合中元素来获取信息项:strings;System.Collections.Specialized.NameValueCollectionstrs=Request.QueryString;for(inti=0;i<strs.Count;i++){s=strs[i];}显然,QueryString属性通常与Response对象Redirect属性搭配使用。实际上,例11.2中程序testWebControlApp已经使用过这两个属性来实现页面之间数据传递。ASPnet开发环境和内置对象第20页用Request对象获取表单传递值使用Request对象Form属性获取表单传递信息,普通格式为:

Request.Form("表单元素名")

经过POST方式发送数据不会显示在URL中,所以POST发送数据会比GET发送安全。ASPnet开发环境和内置对象第21页用Request对象获取服务器变量值当用户向服务器请求信息或者服务器对用户请求做出应答时,他们信息都包含在HTTPHeader(HTTP头)中。HTTP头提供了相关请求和响应附加信息,同时还包含浏览器生成请求和服务器做出响应过程信息。经过Request对象ServerVariables属性,能够取得当前环境这些信息。ASPnet开发环境和内置对象第22页ServerVariables属性该属性是一个string类型对象集合,它保留了服务器相关信息。3.3ASP.NET控件和对象3.3.2ASP.NE惯用对象比如,我们能够用以下语句输出该属性包含全部相关服务器信息:for(inti=0;i<Request.ServerVariables.Count;i++){Response.Write((i+1).ToString()+":"+Request.ServerVariables[i].ToString()+"<br>");}普通情况下是经过对象名称来访问ServerVariables属性中相关服务器信息。惯用包含:Request.ServerVariables["Local_Addr"] //返回服务器IPRequest.ServerVariables["Path_Info"]//返回被请求页虚拟路径Request.ServerVariables["Path_Translated"]//返回被请求页绝对路径Request.ServerVariables["Server_Name"]//返回服务器名称Request.ServerVariables["Server_Port"] //返回服务器所使用端口Request.ServerVariables["Url"]//返回请求页URL地址Request.ServerVariables[“REMOTE_ADDR”]//返回请求者IP地址ASPnet开发环境和内置对象第23页3.Server对象Server对象封装了服务器相关信息,利用该对象提供方法能够获取这些信息。MapPath()方法返回与Web服务器上指定虚拟路径相对应物理文件路径,如Server.MapPath(“\\WebForm1.aspx”)返回“D:\VS\第11章\test1\test1\WebForm1.aspx”。Transfer()方法该方法与Response对象Redirect()方法含有相同调用方法。比如,下面两个语句作用是一样:Response.Redirect("WebForm1.aspx?s1=str1&s2=str2");Server.Transfer("WebForm1.aspx?s1=str1&s2=str2");3.3ASP.NET控件和对象3.3.2ASP.NE惯用对象ASPnet开发环境和内置对象第24页Transfer与Redirect区分:

Server.Transfer方法把执行流程从当前ASPX文件转到同一服务器上另一个ASPX页面。调用Server.Transfer时,当前ASPX页面终止执行,执行流程转入另一个ASPX页面,但新ASPX页面仍使用前一ASPX页面创建应答流。用Server.Transfer方法实现页面之间导航,浏览器中URL不会改变,因为重定向完全在服务器端进行,浏览器根本不知道服务器已经执行了一次页面变换。Response.Redirect则是客户端第一次请求服务器返回状态代码302及新URL,客户端再次请求新URL,服务器再返回新页面,比Server.Transfer多一次应答。ASPnet开发环境和内置对象第25页注意使用方式Post表单请求表单不runat=“server”经过提交按钮自动切换到Action对应目标页面目标页能够用Request.Form形式访问请求信息例(classexamples\1-1)非Post表单-Web窗体表单Runat=“server”,无提交按钮Request.QueryStringServer.TransferASPnet开发环境和内置对象第26页Web窗体表单传递数据Request.QueryString形式

把表单各个元素名字和值形成QueryString里参数例(classexamples\1-2)ASPnet开发环境和内置对象第27页Server.Transfer例(classexamples\1-3)ASPnet开发环境和内置对象第28页HtmlEncode()方法对给定字符串进行HTML编码,使得浏览器不再按照HTML语法对其进行解释,而是原样输出。比如,对于下面两条语句:

Response.Write("<h1>中国人</h1>"+"<br>");Response.Write(Server.HtmlEncode("<h1>中国人</h1>")+"<br>");3.3ASP.NET控件和对象3.3.2ASP.NE惯用对象——所以,假如想将HTML语法中代码在浏览器输出,就需要使用HtmlEncode()方法。ASPnet开发环境和内置对象第29页Global.asaxGlobal.asax文件(也称为ASP.NET应用程序文件)是一个可选文件,该文件包含响应ASP.NET或HTTP模块所引发应用程序级别和会话级别事件代码。Global.asax文件驻留在ASP.NET应用程序根目录中。运行时,分析Global.asax并将其编译到一个动态生成.NETFramework类,该类是从HttpApplication基类派生。配置ASP.NET,方便自动拒绝对Global.asax文件任何直接URL请求;外部用户不能下载或查看其中代码。Global.asax文件是可选。只在希望处理应用程序事件或会话事件时,才应创建它。ASPnet开发环境和内置对象第30页ASPnet开发环境和内置对象第31页ASPnet开发环境和内置对象第32页ASPnet开发环境和内置对象第33页ASPnet开发环境和内置对象第34页ASPnet开发环境和内置对象第35页ASPnet开发环境和内置对象第36页3.3.2Application对象利用Application对象存取变量创建Application对象同时和互斥Application事件和Global.asax10月10日第37页ASPnet开发环境和内置对象第37页利用Application对象存取变量Application对象能够存取变量,而且这些变量能够被多个用户共享。对Application对象变量赋值格式为:

Application[变量名]=值引用变量值用Application(变量名)就能够了。10月10日第38页ASPnet开发环境和内置对象第38页同时和互斥在页面共享变量时也引发一个问题,那就是各个页面都能够修改共享变量值。为了防止这种冲突出现,Application对象提供了Lock方法处理这么问题。其语句以下:

Application.Lock

在这个语句之后,Application对象变量值只能由一个用户改动,这么就防止了多个用户同时改变一个变量值情况。当用户改动结束后,应该允许其它用户改动该变量,这就要求解除对变量值锁定。语句以下:

Application.UnLock10月10日第39页ASPnet开发环境和内置对象第39页Application事件和Global.asaxApplication拥有自己事件和生命周期,当Application开始开启时,会触发Application_Start事件;当Application终止时或者webconfig被修改保留时,会触发Application_End事件。这两个事件代码都存放在Global.asax文件中。Global.asax文件中主要定义了8个主要事件:Application_Start、Session_Start、Application_BeginRequest、Application_EndRequest、Application_AuthenticateRequest、Application_Error、Session_End和Application_End。10月10日第40页ASPnet开发环境和内置对象第40页Session对象利用Session对象存取变量Session唯一性和Session终止Session事件10月10日第41页ASPnet开发环境和内置对象第41页利用Session对象存取变量与Application对象一样,Session对象也能够存取变量,但它和Application对象在存放信息所使用对象是完全不一样。Application对象存放是共享信息,而Session对象存放信息是局部,它只是针对某个特定用户。10月10日第42页ASPnet开发环境和内置对象第42页Session对象3.3ASP.NET控件和对象3.3.2ASP.NE惯用对象比如,下面两条语句作用是将字符串“Petter”和“C_sharp”依次添加到Session对象中:

Session[“username”]=“Petter”;

//Session.Add(“username”,”peter”);Session["userpass"]="C_sharp";这两个字符串在Session中“名称”分别为username和userpass,经过它们名称即可访问对应数据和对象。比如,对于以下语句:

Response.Write(Session["username"]+"<br>");Response.Write(Session["userpass"]+"<br>");执行后将输出:PetterC_sharp当然,也能够经过下标来访问Session对象中数据:Response.Write(Session[0]+"<br>");Response.Write(Session[1]+"<br>");语句输出Session对象中全部数据:

for(inti=0;i<Session.Count;i++){Response.Write(Session[i]+"<br>");}ASPnet开发环境和内置对象第43页Session事件与Application对象相同,Session对象也拥有自己事件。正如在介绍关于Global.asax文件内容时所见到,Session对象拥有Start和End事件,他们都存在于文件Global.asax中。当一个Session对象被创建时,触发Session_Start事件;当一个Session对象被终止时,触发Session_End事件。利用这两个事件能够处理一些有用事情,如用户信息初始化等等。10月10日第44页ASPnet开发环境和内置对象第44页Session方法Abandon()方法删除存放在session对象中全部会话变量并释放它们占用服务器资源,所以要慎重使用不过在当前页中全部脚本命令都处理完后,对象才会被真正删除。在SessionState=“proc”设置下,会触发Session_End事件Clear()或Remove()方法Session.Clear只是去除Session中全部数据并不会中止该Session,所以也不会触发Session_EndASPnet开发环境和内置对象第45页SessionWeb.config<sessionState>节定义TimeoutCookielessASPnet开发环境和内置对象第46页4.Session对象和Application对象3.3ASP.NET控件和对象3.3.2ASP.NE惯用对象共同点:都是用于在服务器端保留数据和对象,它们都是object类型数组,使用方法相同,能够经过对象名或下标引用其中对象。通惯用于保留用户信息、实现网站访问计数等功效。不一样点:它们作用范围不一样,Session对象作用范围是一次会话期内),只为一个用户所拥有;Application对象作用范围则是Web服务器一次生存期(从开启服务器到关闭服务器这个时间段),可为全部用户共享。ASPnet开发环境和内置对象第47页Application和Session联合使用网站访问计数器网站在线人数(例子aspnet1-4)Global.asaxWebconfig修改<sessionStatemode="InProc"timeout="1"></sessionState>ASPnet开发环境和内置对象第48页Application和Session联合使用2提升:加入文件处理stringcountfile=Server.MapPath("count.txt");StreamReadersrd;srd=File.OpenText(countfile);intcount=0;while(srd.Peek()!=-1){stringstr=srd.ReadLine();count=int.Parse(str);

}srd.Close();Application["count"]=count;提升:加入文件处理intcount=0;count=(int)Application["count"];stringfile_path=Server.MapPath("count.txt");StreamWritersrw=newStreamWriter(file_path,false);srw.WriteLine(count);srw.Close();ASPnet开发环境和内置对象第49页Session特殊应用场所用户登录界面,每个页面都要判断用户名是否为空演示无判断情况增加一个公共判断类ASPnet开发环境和内置对象第50页publicclassvalidatePage:System.Web.UI.Page

{protectedoverridevoidOnInit(EventArgse)

{if(Session["valid"]==null||Session["valid"].ToString().CompareTo(Session.SessionID)!=0)

{Response.Write("error");Response.End();

}

}//protectedoverridevoidOnLoad(EventArgse)

//{//if(Session["valid"]==null||Session["valid"].ToString().CompareTo(Session.SessionID)!=0)

//{//Response.Write("error");//Response.End();

//}

//}

}publicpartialclassrequestform:validatePage

{ASPnet开发环境和内置对象第51页注意不要重载OnLoad方法,会让子类Page_Load事件失效重载OnInit方法ASPnet开发环境和内置对象第52页CookieCookie是一个能够让网站服务器把少许数据存放到客户端硬盘或内存。而且读能够取出来一个技术。Cookie是一段文本信息,在客户端存放Cookie是ASP.NET会话状态将请求与会话关联方法之一。Cookie也能够直接用于在请求之间保持数据,但数据随即将存放在客户端并随每个请求一起发送到服务器。浏览器对Cookie大小有限制,所以,只有不超出4096字节才能确保被接收。

ASPnet开发环境和内置对象第53页Cookie查看ASPnet开发环境和内置对象第54页CookieSessionID默认是用Cookie来存放,试一试修改webconfig以下所表示:

<sessionStatemode="InProc"timeout="1"cookieless="true"></sessionState>ASPnet开发环境和内置对象第55页创建cookie//方式1:

Response.Cookies["username"].value="mike";

Response.Cookies["username"].Expires=DateTime.MaxValue;

//方式2:

HttpCookieacookie=newHttpCookie(“username");

acookie.Value=“mike";

acookie.Expires=DateTime.MaxValue;//cookie.Expires=System.DateTime.Now.AddDays(1);//设置过期时间1天

Response.Cookies.Add(acookie);

ASPnet开发环境和内置对象第56页创建cookie-子键(多值)//方式1:

Response.Cookies["userinfo1"]["name"].value="mike";

Response.Cookies["userinfo1"][“gender"].value=“m";

Response.Cookies["userinfo1"].Expires=DateTime.MaxValue;

//方式2:

HttpCookiecookie=newHttpCookie("userinfo1");

cookie.Values["name"]="mike";

cookie.Values[“gender"]=“m“;

cookie.Expires=DateTime.Now.AddDays(1);

//设置过期时间1天

Response.Cookies.Add(cookie);

ASPnet开发环境和内置对象第57页CookieC:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Cookies上面是2个单值Cookie下面是1个多值CookieASPnet开发环境和内置对象第58页读取CookieInternetExplorer将站点Cookie保留在文件名格式为<user>@<domain>.txt文件中,其中<user>是您帐户名。注意:在获取Cookie值之前,应该确保该Cookie确实存在。不然,您将得到一个异常

If(Request.Cookies["userName"]!=null)

{

stringstr=Request.Cookies("userName").Value;

}

ASPnet开发环境和内置对象第59页读取Cookie-子键(多值)//多值Cookie读取

If(Request.Cookies["userInfo1"]!=null)

{

stringname=Request.Cookies["userInfo1"]["name"];

stringlast=Request.Cookies["userInfo1"][“gender"];

}

ASPnet开发环境和内置对象第60页注意创建依赖于Reponse对象读取依赖于Request对象ASPnet开发环境和内置对象第61页读取Cookie集合for(inti=0;i<Request.Cookies.Count;i++){HttpCookiecookie=Request.Cookies[i];Response.Write("name="+cookie.Name+"<br/>");if(cookie.HasKeys)//是否有子键

{System.Collections.Specialized.NameValueCollectionNameColl=cookie.Values;for(intj=0;j<NameColl.Count;j++){Response.Write("子键名="+NameColl.AllKeys[j]+"<br/>");Response.Write("子键值="+NameColl[j]+"<br/>");

}

}else

{Response.Write("value="+cookie.Value+"<br/>");

}}Aspnet1-6/webformreadcookiesASPnet开发环境和内置对象第62页销毁Cookie没有权限删除客户端文件设置过期日期

ASPnet开发环境和内置对象第63页ASPnet开发环境和内置对象第64页正确写法

ArrayListcookiesnames=newArrayList();for(inti=0;i<Request.Cookies.Count;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论