P.NET(C#)网站开发-电子教案-源代码-张志明 第6章 ASP.NET内置对象

上传人:E**** 文档编号:89494345 上传时间:2019-05-25 格式:PPTX 页数:62 大小:1,020.67KB
返回 下载 相关 举报
P.NET(C#)网站开发-电子教案-源代码-张志明 第6章 ASP.NET内置对象_第1页
第1页 / 共62页
P.NET(C#)网站开发-电子教案-源代码-张志明 第6章 ASP.NET内置对象_第2页
第2页 / 共62页
P.NET(C#)网站开发-电子教案-源代码-张志明 第6章 ASP.NET内置对象_第3页
第3页 / 共62页
P.NET(C#)网站开发-电子教案-源代码-张志明 第6章 ASP.NET内置对象_第4页
第4页 / 共62页
P.NET(C#)网站开发-电子教案-源代码-张志明 第6章 ASP.NET内置对象_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《P.NET(C#)网站开发-电子教案-源代码-张志明 第6章 ASP.NET内置对象》由会员分享,可在线阅读,更多相关《P.NET(C#)网站开发-电子教案-源代码-张志明 第6章 ASP.NET内置对象(62页珍藏版)》请在金锄头文库上搜索。

1、第6章 ASP.NET内置对象,学习目标,通过本章知识的学习,读者在了解ASP.NET内置对象作用的同时,理解各内置对象之间的区别,掌握常用内置对象的使用方法。 理解ASP.NET常用内置对象的作用和区别。 掌握Response对象的常用属性和方法。 掌握Request对象的常用属性和方法,以及利用该对象实现页面传值和调用对象的方法。 掌握Session对象在页面之间实现传值功能的方法。 了解Application对象,以及其使用方法。 了解Cookie对象,以及其使用方法。,6.1 情景分析,用户在使用网站过程中,时常会见到会员管理、网站浏览次数统计、当前网站在线用户人数、在线聊天室和网上投

2、票等内容。在使用网站时,如何进行存储用户信息,并实现跨页面传递呢? 网络上的聊天室相信大家并不陌生,用户首先通过聊天室登录,进入聊天室聊天。为了便于聊天室的管理,我们要对聊天室用户进行身份验证,即通过访问后台数据库中的用户表,验证用户名和用户密码是否一致。当信息一致时,用户完成验证,进行聊天室,同时并利用Session对象保存用户信息。用户在登录时,如果勾选了“记录我的信息”复选项,则用户名会保存到客户端Cookie对象中。当用户再次登录时会自动输入,效果如图6-1所示。 在聊天室中,在线用户可以通过Application对象实现相互聊天,用户发表的内容会同步显示到页面上,效果如图6-2所示。

3、,6.2 ASP.NET常用对象,ASP.NET提供了多种内置对象,这些对象可以在页面上以及页面之间方便地实现获取、输出、传递、保留各种信息等操作,以完成复杂功能。内置对象是对服务器控件很好的补充,进一步扩展了ASP.NET程序的功能。常用的内部对象有Page、Response、Request、Session、Application和Cookie等。,1 Page对象,Page对象由System.Web.UI.Page类实现,它主要用于处理ASP.NET页面的内容。IsPostBack是Page对象最为重要的属性,它返回一个布尔类型的值(True/False),用于判断页面是第一次加载,还是为

4、响应客户端回发而加载。,【例6-1】设计动态添加候选项的页面。当页面初次加载时,“个人爱好”显示“游泳”、“唱歌”和“爬山”三个选项,下面的文本框里显示“请输入新的选项”。用户在文本框中输入选项内容,并单击“添加”按钮,可以实现选项的添加,效果如图6-3所示。(Ex6-1.aspx), 个人爱好: 游泳 唱歌 爬山 ,protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) txtadd.Text = “请输入新的选项“; else ckbtnllove.Items.Add(txtadd.Text); ,2 Re

5、sponse对象,Response对象由System.Web.HttpResponse类实现,主要用于控制对浏览器的输出。它允许将数据作为请求的结果发送到浏览器中,并提供有关响应的信息。它可以用来在页面中输入数据,在页面中跳转,还可以传递各个页面的参数。,【例6-2】利用DropDownList控件的SelectedIndexChanged事件,实现动态改变LinkButton控件的显示文本。并利用Response对象的Redirect方法实现页面地址重定向,效果如图6-4所示。(Ex6-2.aspx), 友情链接 百度 淘宝网 搜虎 转向链接网站 ,protected void ddlfri

6、_SelectedIndexChanged(object sender, EventArgs e) Response.Write(“alert(使用了Response的Redirect方法)“); lkbtnfri.Text = ddlfri.SelectedItem.Text; protected void lkbtnfri_Click(object sender, EventArgs e) Response.Redirect(ddlfri.SelectedValue); ,3 Request对象,Request对象由System.Web.HttpRequest类实现,主要用于获取客户端信息

7、。当用户打开Web浏览器并从网站请求Web页时,Web服务器就接收一个HTTP请求,此请求包含用户、用户的计算机、页面以及浏览器的相关信息,这些信息将被完整地封装,并通过Request对象得以使用。,1. ServerVariables和Browser属性 Request对象的ServerVariables属性和Browser属性,分别用于获取服务器环境和客户端浏览器相关信息内容。它们的语法格式分别为Request.ServerVariables“环境变量名称“和Request.Browser“浏览器属性名称“。 【例6-3】利用Request对象的ServerVariables属性和Brow

8、ser属性显示服务器和客户端浏览器相关信息,效果如图6-5所示。(Ex6-3.aspx),2. Form属性 利用Request对象的Form属性可以获取窗体中的变量,以实现信息的传递和处理。这里的表单是指HTML代码中标记内的内容,表单的method属性默认为Post。当向.aspx文件中添加控件时,大多数控件的HTML代码都会显示在表单中。此时就可以利用Request对象的Form属性来获取Web窗体中控件或变量的值。语法为:Request.Form“控件名或变量名”,语法也可以简写为:Request “控件名或变量名”。 【例6-4】利用Request对象的Form属性实现页面间信息传递

9、。即将页面Ex6-4.aspx中的用户名和密码传送到第二个页面Ex6-4(2).aspx,效果如图6-6所示。(Ex6-4.aspx和Ex6-4(2).aspx), protected void Page_Load(object sender, EventArgs e) lblmes.Text +=“用户名:“+ Request.Form“txtname“.ToString(); lblmes.Text += “密码:“ + Request.Form“txtpwd“.ToString(); ,3. QueryString属性 上面使用了Request对象的Form属性传递了用户信息,属于页面间

10、参数传递的隐式传递,即post方法。除此之外,还可以使用get方法显式传递参数。 使用get方法时,需要使用QueryString属性来获取标识在URL后面的所有返回的变量及值,使用方法为:Request.QueryString“变量名称”。例如,当客户端URL发出“http:/news.aspx?nid=12&nkey=公司”请求时,利用QueryString属性就会获取nid和nkey两个变量的值。,【例6-5】利用Request对象的QueryString属性实现页面间信息传递。单击页面Ex6-5.aspx中的超链接,将页面转到Ex6-5(2).aspx,并获取Ex6-5.aspx显式传

11、递过来的两个变量的值,效果如图6-7所示。(Ex6-5.aspx和Ex6-5(2).aspx) 转到下一个页面 接收参数信息如下: name的值: key的值: ,protected void Page_Load(object sender, EventArgs e) lblname.Text = Request.QueryString“name“; lblkey.Text = Request.QueryString“key“; ,4 Session对象,Session对象由System.Web.SessionState类实现,主要用于记载特定用户信息。用户对页面进行访问时,ASP.NET应用

12、程序会为每一个用户分配一个Session对象,即不同用户拥有各自不同的Session对象。由于Session对象可以在网站的任意一个页面进行访问,所以常用于存储需要跨页面使用的信息。,【例6-6】利用Session对象实现网站后台登录的身份验证。在第一个页面中,用户输入用户名和密码,点击“后台管理”按钮后,将用户名和密码信息保存至Session对象中。在第二个页面中先利用Session“user”来判断用户是否已登录,若登录则出现“用户注销”按钮;否则出现无权访问的提示。同时,单击“用户注销”按钮实现Session对象信息清除,效果如图6-8所示。(Ex6-6.aspx和Ex6-6(2).as

13、px), 用户名: 密码: ,protected void Button1_Click(object sender, EventArgs e) Session“user“ = txtname.Text; Session“pwd“ = txtpwd.Text; Response.Redirect(“Ex6-6(2).aspx“); , 返回上一页 ,protected void Page_Load(object sender, EventArgs e) if (Session“user“ != null ,else lblmes.Text = “你无权进入后台管理!6秒后自动返回上页。或单击下面

14、的链接。“; hplback.Visible = true; Response.Write(“setTimeout(window.history.back(), 6000)“); ,protected void btnquit_Click(object sender, EventArgs e) Session.Abandon(); Response.Redirect(“Ex6-6(2).aspx“); ,5 Application对象,Application对象由System.Web.HttpApplication类实现,主要用于存储网站的共享信息。与Session对象存储信息的方式类似,Ap

15、plication对象也是将用户信息存储在服务器中。两者的不同在于: Application对象是一个公用变量,允许应用程序的所有用户使用;而Session对象只允许某个特定的用户使用。 Application对象的生命周期止于网站IIS关闭或者Clear()方法清除;而Session对象的生命周期上于用户页面的关闭或者Abandon()方法清除。 由于多个用户可以共享一个Application对象,为了保证用户在修改Application对象值时的资源同步访问,需要使用Application对象的Lock和Unlock方法进行对象的加锁和解锁。,【例6-7】使用Application对象实现

16、网站访问数量统计,效果如图6-9所示。(Ex6-7.aspx) 你是本站的第位访客! ,protected void Page_Load(object sender, EventArgs e) if (Application“usernum“ = null) Application“usernum“ = 1; else Application.Lock();,Application“usernum“ = (Int32)Application“usernum“ + 1; Application.UnLock(); lblnum.Text = Application“usernum“.ToString(); ,6 Cookie对象,Cookie对象由System.Web.HttpCookie类实现,主要用于客户端存储用户个人信息。Cookie对象与Session、Applic

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号