在进行本节课之前,按照国际惯例我们需要进行下课程回顾。有没有哪位同学可以告诉老师,我们上次课程主要讲到了asp.net中的哪些内容呢?上次课程我们主要讲到了如何创建我们的第一个asp.net网站,并对做好的网站进行发布与运行。对网站发布与部署我们要用到web服务器中的哪个工具?是web服务器中的iis,对不对?不会操作网站发布与部署的同学举一下手。很好,大家都会,那我们就进入课本的第2章:系统对象和数据传递。
这节课有如下七个学习要点,大家看一下这七个学习要点。
会使用系统对象
会在后台代码中输出javascript提示信息
会使用Response实现网页的重定向
会使用系统对象实现状态保持
会使用Server对象获取文件的物理路径
掌握页内数据传递
了解跨页数据传递
其实我们只需要掌握会使用系统对象、会使用系统对象实现状态保持、掌握页内数据传递这三个要点就可以基本掌握这七个学习要点。
最后我们需要实现制作登录页面并实现重定向和状态保持这个任务。
我们开始讲解系统对象。为什么要使用系统对象呢?我们在网上浏览网站的时候,我们知道一个网站是由很多个不同的网页组成的,那么一个网站中的不同的页面之间如何进行联系,数据间如何进行传递呢?比如我在首页登陆了一个用户名,那么我在其它页面要使用这个用户的信息的时候,这个时候我们就需要使用系统对象来获取首页登陆时保存的用户名。所以系统对象是用在客户端页面上的数据和服务端数据传递时,方便设置和获取。
系统对象使用在客户端和服务端数据传递、页面之间数据传递、多用户操作时,用户之间的数据共享。多用户操作,比如我在一台电脑上登陆了一个用户名,然后另外一个用户在另外一台电脑也登陆了他的用户名,这个时候就是多用户在操作这个时间,这时就需要使用系统对象对不同用户之间的数据共享。
在Asp.net系统的常用对象在以下七个,这七个Asp.net系统的常用对象大家要熟记如心。
Page 提供对当前页面的访问
Request 提供对当前页请求的访问,其中包括请求标题、Cookie、客户端证书、查询字符串等。可以使用此对象读取浏览器已经发送的内容
Response 提供对当前页的输出流的访问。可以使用此对象将文本插入页中、编写Cookie,实现请求的重定向
Application 提供对所有会话的应用程序范围的方法和事件的访问。还提供对可用于存储信息的应用程序范围的缓存的访问
Session 为当前用户会话提供信息。还提供对可用于存储信息的会话范围的缓存的访问,以及控制如何管理会话的方法
Server 提供可以用于在页之间传输控件的实用工具方法,获取有关最新错误的信息,对HTML文本进行编码和解码
Cookie 提供了一种在web应用程序中存储用户特定信息(如历史记录)的方法
1,现在来讲Page对象,Page对象代表当前页面,关于Page对象的其它属性我们暂时不了解,在此先介绍两个通过Page对象输出JavaScript代码的方法。
Page.ClientScript.RegisterClientScriptBlock(Type type,”key”,”script”);在网页前面注册javascript代码
Page.ClientScript.RegisterStartupScript(Type type,”key”,”script”)在网页后面注册javascript代码
接下来我们实例讲解下。
2,Request对象,读取客户端在web请求期间发送的http值。它包含有以下四个属性来获取客户端传递的数据。
QueryString:集合获取客户端通过Get请求方式发送的数据
From:集合获取客户端通过Post请求方式发送的数据
ServerVariables:包含了客户端和服务器端的系统信息
Params:集合以上三种方式的集合
实例讲解Post请求方式和Get请求方式。
3、Response对象代表服务器对客户端的响应
常用方法:
1)write可以输出普通文本、html标签、javascript代码到客户端
Response.write(“<div>不错噢,做的很好!</div>”);
Response.write(“<script>alert(‘你好!’)</script>”);
2)redirect可实现请求的重定向
Response.Redirect(“beRedirected.aspx”);
response方法我们刚才在实例的时候就讲解了。
4、Server对象方法:
1)htmlEncode:编码
2)htmlDecode:解码
3)MapPath:返回与web服务器上的指定虚拟路径相对应的物理文件路径
4)Transfer:将请求转发到另一个页面
5)Execute:在当前页面中包含另外一个页面
实例讲解:
<%= Server.HtmlEncode("ohmygod: <P>")%>
<%= Server.HtmlDecode("ohmygod: <P>") %>
Server.MapPath("./")
Server.Transfer("transer.aspx");
Server.Execute("transer.aspx");