




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第3章章ASP.NET基础知识2教学过程qASP.NET的页面框架和页面类的介绍qASP.NET中存放各种程序文件的文件夹介绍qASP.NET核心对象的介绍q介绍ASP.NET的配置文件web.config和全局文件Global.asax。3 3.1 页面管理 ASP.NET页面是带.aspx扩展名的文本文件,可以被部署在IIS虚拟目录树之下。页面由代码和标签(tag)组成,它们在服务器上动态地编译和执行,为提出请求的客户端浏览器(或设备)生成显示内容。 43.1.1 ASP.NET页面代码模式q单一文件模式:页面的标签和代码在同一个.aspx文件中,程序代码包含在的服务器程序脚本代码块中间
2、q代码分离模式:把一个程序文件分为一个界面代码(.aspx)文件和一个控制代码(.aspx.cs)文件。5页面往返机制 ASP.NET网页是作为代码在服务器上运行的,因此,要使页面中的按钮或其他内容得到处理,必须将该信息提交到服务器。每次页面提交时,都会在服务器端运行其代码,然后把运行的结果呈现给用户。 6ASP.NET页面的处理流程如下:7 在生命周期中,该页面将主要执行下列处理步骤:在生命周期中,该页面将主要执行下列处理步骤:q1. 页面初始化 引发该页的Page_Init事件,并还原该页和控件视图状态。q2.页面装载 引发页面的Page_Load事件(在初始化之后)。q3.事件处理阶段
3、q4. 资源清理阶段页面生存周期8Page.IsPostBack 属性q获取一个布尔值,可以获取一个布尔值,可以检查.aspx页是否为传递回服务器的页面,用来判断页面是否是第一次被加载。 qTrueTrue表示当前页是为响应客户端回发而加载,表示当前页是为响应客户端回发而加载,FalseFalse表示首次加载和访问。表示首次加载和访问。q程序private void Page_Load(object sender, System.EventArgs e) if(! Page.IsPostBack )lblDate.Text =“Hello,World!”;从此处调用 Page_Load 事件/
4、如果首次加载页面,才会执行括号内的操作93.2 特殊文件夹 ASP.NET对程序进行设计将特定类型的文件存放在某些文件夹中,以方便在今后开发中的管理和操作。 ASP.NET保留了一些文件名称和文件夹名称,程序开发人员可以直接使用,并且还可以在应用程序中增加任意多个文件和文件夹。103.2.1 App_Data文件夹App_Data文件夹保存应用程序使用的数据库。它是一个集中存储应用程序所用数据库的地方。App_Data文件夹可以包含Microsoft SQL Express 文件(.mdf)、Microsoft Access文件(.mdb)、XML文件等。 113.2.2 App_Code 文
5、件夹App_Code文件夹正好在Web应用程序根目录下,它存储所有应当作为应用程序的一部分动态编译的类文件。这些类文件自动链接到应用程序,而不需要在页面中添加任何显式指令或声明来创建依赖性。App_Code文件夹中放置的类文件可以包含任何可识别的ASP.NET组件自定义控件、辅助类、build提供程序、业务类、自定义提供程序、HTTP处理程序等。123.2.3 Bin文件夹Bin文件夹包含应用程序所需的,用于控件、组件或者需要引用的任何其他代码的可部署程序集。该目录中存在的任何.dll文件将自动地链接到应用程序。可以在Bin文件夹中存储编译的程序集,并且Web应用程序任意处的其他代码会自动引用
6、该文件夹。典型的示例是您为自定义类编译好的代码,您可以将编译后的程序集复制到Web应用程序的Bin文件夹中,这样所有页都可以使用这个类。 13ASP .NET内置对象概述 ASP .NET提供了6个可以直接使用的对象。如:Response、Request等,当Web应用程序运行时,这些对象可以用来维护有关当前应用程序、浏览器、Web服务器的活动状态等基本信息,并为浏览器与Web服务器的处理交互提供桥梁。 14ASP.NET中常用的内置对象对象名对象名功能说明功能说明ResponseResponse用于向浏览器输出信息用于向浏览器输出信息RequestRequest用于获取来自浏览器的信息用于获
7、取来自浏览器的信息ServerServer提供服务器端的一些属性和方法提供服务器端的一些属性和方法ApplicationApplication用于共享多个会话和请求之间的全局信息用于共享多个会话和请求之间的全局信息SessionSession用于存储特定用户的会话信息用于存储特定用户的会话信息CookiesCookies浏览器和服务器之间传递的一小段信息,用浏览器和服务器之间传递的一小段信息,用来保存用户信息,可以被存在浏览器的本地来保存用户信息,可以被存在浏览器的本地硬盘中。硬盘中。15目标q使用 Response 对象q使用 Request 对象q使用 Server 对象q使用Sessio
8、n对象q使用Application对象q使用Cookie对象16Response对象q由类System.Web.HttpResponse来实现。提供对当前页的输出流。q此类可用于:q向输出页面写入文本q将用户重新定向到另一个页面q有条件地结束应用程序连接q获取或设置输出流的属性值q。17Response:常用方法方法方法说明说明Write用于向当前 HTTP 响应流写入文本,使其成为返回页面的一部分Redirect将用户从请求页面重新定向或带到另一页面WriteFile向浏览器输出文本文件expires浏览器上的缓冲存储的页距过期还有多久18Write方法 q WriteWrite方法用来向客
9、户端输出信息。例如:方法用来向客户端输出信息。例如:Response.Write(Response.Write(欢迎光临学习天地欢迎光临学习天地!)!)Response.Write(Response.Write(现在时间为:现在时间为: + + DateTime.Now.ToString();DateTime.Now.ToString();Redirect方法q用来重定向页面,例如:Response.Redirect(login.aspx);Response.Redirect(login.aspx);Response.Redirect(http:/ 对象可以获取来自客户端的信息。这些信息包括:
10、q客户通过表单(form)或URL地址串发送来的值q客户端的基本信息q在客户端浏览器上为网站存储的 Cookieq21Request属性名称属性名称说明说明QueryString获得查询字符串的集合(数据附加到URL传送)Form 获得网页中定义的窗体变量的集合(数据嵌入HTTP 请求中传送)。客户浏览器信息、ip地址等Request 对象的常用属性对象的常用属性22Form数据集合q用来获取客户端通过用来获取客户端通过POSTPOST方法传送的表单数据:方法传送的表单数据:23用来获取客户端通过用来获取客户端通过GET方法传送的表单数据方法传送的表单数据客户端使用如下地址请求:客户端使用如下
11、地址请求:http:/localhost/doit.aspx?name=zhangsan&sex=nan在在doit.aspx中就可以使用中就可以使用Request.QueryStringname和和Request.QueryStringsex来获取相应的来获取相应的值值zhangsan和和nan。QueryString数据集合24Request:Querystring 提交前提交前 private void btnSubmit_Click(object sender, System.EventArgs e) string strURL=; strURL=“TargetPage.asp
12、x?Name= + txtName.Text+&pwd=+ txtPwd.Text ; Response.Redirect(strURL); Request:Querystring 提交前提交前 QueryString数据集合25HttpRequest:Querystring 提交后提交后 private void Page_Load(object sender, System.EventArgs e)string userNm=Request.QueryStringName;Response.Write(欢迎);Response.Write(userNm);Response.Writ
13、e (你的密码是:+Request.QueryStringpwd);26Response_Request例子27Browser属性HttpBrowserCapabilities bc = Request.Browser;Response.Write(您所用的浏览器信息如下:);Response.Write(名称及版本: + bc.Type + );Response.Write(类型: + bc.Browser + );Response.Write(版本号: + bc.Version + );Response.Write(主版本号: + bc.MajorVersion + );Response.
14、Write(次版本号: + bc.MinorVersion + );Response.Write(平台: + bc.Platform + );Response.Write(是否为测试版: + bc.Beta + ); Response.Write(是否为基于Win16计算机: + bc.Win16 + );Response.Write(是否为基于Win32计算机: + bc.Win32 + );Response.Write(是否支持HTML框架: + bc.Frames + );Response.Write(是否支持HTML表格: + bc.Tables + );Response.Write(
15、是否支持Cookie: + bc.Cookies + );Response.Write(是否支持ActiveX: + bc.ActiveXControls + );28Browser属性29Request其它对象Response.Write(客户端浏览器:客户端浏览器:+Request.UserAgent+ );Response.Write(客户端客户端IP地址:地址:+Request.UserHostAddress+ );Response.Write(当前文件服务器端物理路径:当前文件服务器端物理路径:+Request.PhysicalApplicationPath );30Server 对
16、象Execute 方法和 Transfer 方法HTMLEncode方法MapPath 方法URLEncode 方法方法方法通过通过Server对象可以访问服务器的方法和属性,获对象可以访问服务器的方法和属性,获取有关服务器的信息。其对应取有关服务器的信息。其对应HttpServerUtility类。类。31Server对象ExecuteTransferURL 参数指定的页面处理完后,控制权会返回给先前的页面或调用此方法的页面,并且从此方法调用后的语句继续执行 URL 参数指定的页面处理完后,控制权不会返回给先前的页面,也不会返回给调用此方法的页面,并且在新页面完成执行时结束 注意:Serve
17、r 对象的 Transfer 方法和 Execute 方法仅用于 Web 窗体Execute 方法和 Transfer 方法均会停止当前页面的执行,并将用户带到由此方法的参数 URL 指定的页面32Server 对象private void btnExec_Click(object sender, System.EventArgs e) Server.Execute (ResponseProperties.aspx); lblForExecute.Text=客户端调用 Execute 方法之后!;private void btnTransfer_Click(object sender, Sys
18、tem.EventArgs e) Server.Transfer (RequestProperties.aspx); lblForExecute.Text=“客户端调用 Transfer 方法之后!;33Server 对象HTMLEncode 方法:方法:q 为了确保所有浏览器均能在 URL 字符串中正确地传送文本,需要使用 HTML 编码。HTMLEncode 方法正是起这个作用的,它能将HTML标记按文本显示。q 例如,如果输入文本包含 “”字符,此方法会将这些字符转换为其对等的 HTML 字符,即分别为 < 和 >,以便浏览器将这些字符正确地显示为“”HTMLEn
19、code(String)要编码为 HTML 的文本语法34Server 对象HTMLEncode的使用private void Page_Load(object sender, System.EventArgs e) Response.Write(测试表示用粗体显示); Response.Write(); Response.Write(<B>测试</B>表示用粗体显示); Response.Write(); Response.Write(Server.HtmlEncode(测试表示用粗 体显示);35Server 对象URLEncode
20、方法:方法:q 在 HTML 编码中,将文本编码成相应的 HTML 是为了在浏览器中正确地显示 q 如果是要求可靠的 HTTP 传输通过 URL 将编码文本从 Web 服务器传送到客户端,该怎么办? q 可使用 URLEncode 方法实现此目的。它将文本编码以便通过 URL 从 Web 服务器到客户端进行可靠的 HTTP 传输语法要编码为 HTML 传输的文本 URLEncode(String)36Server 对象private void Page_Load(object sender, System.EventArgs e) string MyURL; MyURL = http:/ =张
21、 三; Response.Write(这是用Response.Write(Server.UrlEncode(MyURL)的结 果:+ Server.UrlEncode(MyURL) + ); Response.Write(这是用Response.Write(MyURL)的结果:+MyURL);37Server 对象MapPath 方法:q Web 应用程序位于 IIS 根目录下的虚拟目录中q 因此,我们请求网页时,引用称为“虚拟路径”的虚拟目录路径。但是经常需要得到 Web 服务器上的 Web 资源的实际物理路径q 用 MapPath 方法,我们可从其虚拟路径得到 Web 资源(如 .aspx
22、 页面)的物理路径MapPath(string path)Web 服务器上的指定虚拟路径38MapPathResponse.Write(当前目录物理路径:+Server.MapPath(.)+);Response.Write(上级目录物理路径:+Server.MapPath(.) +);Response.Write(网站根物理路径:+Server.MapPath(/) +);Response.Write(“当前页面物理路径:+Server.MapPath(WebForm2.aspx);Application、Session和Cookie对象40Application对象qASP.NET 应用程
23、序是单个应用程序是单个 Web 服务器上的某个服务器上的某个虚拟目录及其子目录范围内的所有文件、页、处虚拟目录及其子目录范围内的所有文件、页、处理程序、模块和代码的总和。理程序、模块和代码的总和。q如果想在整个应用程序范围内存储一些所有用户如果想在整个应用程序范围内存储一些所有用户共享的信息,共享的信息,Application对象将是最佳的选择,对象将是最佳的选择,利用利用Application存储的变量和对象在整个应用程存储的变量和对象在整个应用程序内执行的所有序内执行的所有ASP.NET页面中都是可用的,并页面中都是可用的,并且值也是相同的。且值也是相同的。41Application 变量
24、变量用于在应用程序执行时存储数据应用程序级会话级string myname = “张三;Response.Write (“欢迎 + myname);42Lock 和 Unlock 方法 Lock()Lock() 用于防止用户更改 Application 对象的属性 Lock() 可用作 Application.Lock() UnLock()Unlock() 方法用于释放对应用程序变量的锁定UnLock() 可用作Application.UnLock()43向应用程序添加、更新和移除项 方法方法说明说明Add()向 Application 状态添加新对象。例如,下列代码会向应用程序状态添加项:A
25、pplication.Add(“Title”, “Article board”);或 Application(“Title”) = “Article Board”; Clear()从 Application 状态中移除所有对象 Remove()从 Application 集合中按名称移除项。例如,下列代码移除 Title 项:Application.Remove(Title) 44Global.asax Global.asax 文件(也称作 ASP.NET 应用程序文件),包含用于响应 ASP.NET 引发的应用程序级别事件的代码。Global.asax 文件驻留在基于 ASP.NET 的应用
26、程序的根目录中。 45Global.asax事件说明Application_Start当第一个页面被请求时Application_End应用程序的最后一个会话结束时触发。(IIS终止应用程序时)Application_BeginRequest每次页面请求开始时触发(页面刷新时)Application_EndRequest每次页面请求结束时(即每次在浏览器上执行页面时)触发Session_Start每次新的会话开始时触发Session_End会话结束时触发。46对象级变量protected void Application_Start(Object sender, EventArgs e)App
27、lication.Lock ();ApplicationUserNum =0;Application.UnLock();protected void Session_Start(Object sender, EventArgs e)Application.Lock();ApplicationUserNum=int.Parse(ApplicationUserNum. ToString()+1;Application.UnLock();protected void Session_End(Object sender, EventArgs e) Application.Lock(); Applica
28、tionUserNum=int.Parse(Application UserNum.ToString()-1; Application.UnLock();47对象级变量private void Page_Load(object sender, System.EventArgs e)/ 在此处放置用户代码以初始化页面Response.Write(你是第+ ApplicationUserNum.ToString() + 位访客);48Session对象q存储局部的、特定于用户的信息。存储局部的、特定于用户的信息。q当新用户请求应用程序的网页时,当新用户请求应用程序的网页时,ServerServer
29、 对象会对象会检查用户是否有检查用户是否有 SessionIDSessionIDq对应于浏览器与服务器的同一次会话,在浏览器对应于浏览器与服务器的同一次会话,在浏览器第一次请求应用程序的某个页面时,会话开始;第一次请求应用程序的某个页面时,会话开始;在会话超时或被关闭时,会话结束。在会话超时或被关闭时,会话结束。在用户会话在用户会话期间可以记录和监视特定于用户的信息期间可以记录和监视特定于用户的信息q可以在可以在Global.asaxGlobal.asax文件中编写文件中编写Session_StartSession_Start和和Session_EndSession_End事件处理程序。事件处
30、理程序。49Session 变量qSession 变量与 Application 变量不同qSession 变量仅提供给会话中的特定用户qSession 变量可用于存储在整个用户会话过程中都可以访问的值50 private void btnLogin_Click(object sender, System.EventArgs e) if(this.txtName.Text.Trim()!= | this.txtPwd.Text.Trim()!=) if(this.txtName.Text=张三 & this.txtPwd.Text= 123456) SessionUserName=th
31、is.txtName.Text.Trim(); Response.Redirect(SessionVariableWelcome.aspx?pwd= +this.txtPwd.Text ); else SessionUserName=;RegisterStartupScript(Check,alert(用户名或密码不对,请检查!用户名或密码不对,请检查!); ); else SessionUserName=; 51使用示例private void Page_Load(object sender, System.EventArgs e)if(SessionUserName.ToString().
32、Trim()!=) Response.Write (alert(欢迎 +SessionUserName + 光临,你的密码是: +Requestpwd.ToString()+);else Response.Redirect(SessionVariableNew.aspx);52使用示例53Session事件qSession_Start当新用户访问一个应用程序时会激活该事件qSession_End用户退出应用程序时,就会触发 Session_End 事件54Session 属性Session 事件事件Session_StartSession_End属性说明SessionID包含一个唯一的用户会话
33、标识符。它用于在会话过程中跟踪用户的信息。要检索 SessionID,使用 Session.SessionIDTimeOut设置用户超时,即它以分钟为单位指定 Session 对象在释放资源之前能够保持闲置的时间。用户可导航至另一个站点而不用关闭该应用程序。如果设定了超时属性,则无人操作的用户会话可被清除,由此释放服务器的资源。 默认值为 20 分钟。可通过在 ASPX 文件中赋值来更改此设置。例如,LCID用于设定本地标志符. 它可存储本地信息,如日期、货币和时间格式。例如 Session.LCID = 0 x040C 将本地标识符设定为法国本地标识符IsNewSession若该会话是由当前
34、请求创建的,该属性将返回值 trueItem获取或设置会话值的名称Count获得会话状态集合中的项数55Cookie介绍qCookie俗称甜饼,可以在客户端长期保存信息。它是服务器端发送到客户端浏览器的文本串句柄,保存在客户的硬盘上。q其是写入客户端的一些小文件,当用户再次访问某站点,应用程序检索以前保存的信息(个人信息,浏览器信息,何时访问过该站,从事哪些活动等)56Cookie的基本工作原理q 假设用户请求访问网站上的某个页面时,应用程序发送给该用户的不仅仅只有一个页面,还有一个包含日期和时间信息的Cookie,用户的浏览器在获得页面的同时还得到了这个 Cookie,并且将它保存在用户硬盘
35、上的某个文件夹中。以后,如果该用户再次访问该网站上的页面,浏览器就会在用户本地硬盘上查找与该URL相关联的Cookie。如果该Cookie存在,浏览器就将它与页面请求一起发送到网站,应用程序就能读取Cookie信息从而能确定该用户上一次访问网站的日期和时间。程序可以根据这些信息向用户输出相应的消息。 57qCookie对象其实是:q利用Response对象的Cookies方法设置Cookies;q利用Request对象的Cookies获取方法来获取Cookies的值。属性:Expires: 获取或设置此 Cookie 的过期日期和时间,默认1000分钟。Name: 获取或设置 Cookie 的
36、名称。Value: 获取或设置单个 Cookie 值。 58 存储一个 Cookie 变量: Response.Cookie“name”.Value = “zhangsan”;读取一个 Cookie 变量: Request.Cookiename.Value;设置Cookie到期时间: Response.Cookiename.Expires = #2008/10/1;59设置Cookie代码 qHttpCookie mycookie=new HttpCookie(userage);mycookie.Value=23.ToString();mycookie.Expires=DateTime.Now.AddDays(3);Response.Cookies.Add(mycookie); HttpCookie mycookie=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陕西省西安市碑林区西北工业大学附属中学2024-2025学年高一上学期期末地理试题
- 青少年禁烟教育主题班会
- 高压值班工作总结
- 预防误吸安全宣教
- 关于心理的课件
- 确保学员成功的CFA试题及答案计划
- 理解CFA的金融资产定价模型试题及答案
- 2024年CFA考试真题及试题及答案
- 债务结构的优化方案试题及答案
- 社会责任投资的理顺技巧试题及答案
- 电梯维护保养规则(TSG T5002-2017)
- 子宫肌瘤的超声诊断
- 装饰装修工程监理细则
- MOOC 化学实验安全知识-中国科学技术大学 中国大学慕课答案
- 从电影《第二十条》中学习刑法
- (高清版)TDT 1036-2013 土地复垦质量控制标准
- 智慧建筑评价标准
- 社会稳定风险评估 投标方案(技术标)
- 2024中兴存储和服务器产品手册
- 体育公园配置要求
- 2024年新青岛版(六三制)六年级下册科学全册知识点
评论
0/150
提交评论