c 网络编程及应用 教学课件 刘瑞新 第08章 asp.net web应用程序开发

上传人:繁星 文档编号:88247724 上传时间:2019-04-22 格式:PPT 页数:72 大小:493KB
返回 下载 相关 举报
c 网络编程及应用 教学课件 刘瑞新 第08章 asp.net web应用程序开发_第1页
第1页 / 共72页
c 网络编程及应用 教学课件 刘瑞新 第08章 asp.net web应用程序开发_第2页
第2页 / 共72页
c 网络编程及应用 教学课件 刘瑞新 第08章 asp.net web应用程序开发_第3页
第3页 / 共72页
c 网络编程及应用 教学课件 刘瑞新 第08章 asp.net web应用程序开发_第4页
第4页 / 共72页
c 网络编程及应用 教学课件 刘瑞新 第08章 asp.net web应用程序开发_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《c 网络编程及应用 教学课件 刘瑞新 第08章 asp.net web应用程序开发》由会员分享,可在线阅读,更多相关《c 网络编程及应用 教学课件 刘瑞新 第08章 asp.net web应用程序开发(72页珍藏版)》请在金锄头文库上搜索。

1、在线教务辅导网:http:/,教材其余课件及动画素材请查阅在线教务辅导网,QQ:349134187 或者直接输入下面地址:,http:/,第八章 ASP.NET Web应用程序开发,8.1 Response 与 Request 8.2 Application与Session 8.3 理解Global.asax 8.4 使用 Web 用户控件 8.5 统计网站在线人数 8.6 统计用户登录次数 8.7 上传文件 8.8 发布即时信息,8.9 Web应用程序综合举例 8.9.1 主页 8.9.2 用户注册 8.9.3 信息浏览 8.9.4 文章搜索 8.9.5 在线论坛,8.1 Response

2、与 Request对象,一、Response对象 Response对象用于向客户端发送信息,该对象提供了 很多有用的属性和方法,常用有: Response.Write()方法 将字符、字符串、字符数组写入 HTTP 输出内容流。 例如: Response.Write(“this is a test.“); Response.WriteFile()方法 将指定的文件写入HTTP 输出内容流。 例如: Response.WriteFile(“test.txt“); Response.Redirect()方法 将客户端重定向到新的URL。 例如:Response.Redirect(“test.asp

3、x”);,二、Request对象 Request对象用于获取客户端的信息,该对象包含的 信息非常多。 例:使用Request对象显示客户信息。 private void Page_Load(object sender, System.EventArgs e) / 在此处放置用户代码以初始化页面 Response.Write(“服务器端应用程序所在虚拟路径为: “ +Request.ApplicationPath+“); Response.Write(“当前客户使用的操作系统为: “ +Request.Browser.Platform+“); Response.Write(“当前客户使用的浏览器

4、为:“ +Request.Browser.Type+“.“ +Request.Browser.MinorVersion+“); Response.Write(“当前客户的IP地址为: “ +Request.UserHostAddress+“); ,一、Application对象 1.默认情况下,一个虚拟目录下的所有ASP.NET文件构 成一个Web应用程序。 2.使用Application对象就相当于使用全局变量。 3.Application对象是同一个虚拟目录下的所有.aspx 文件共有的,所以对其进行操作时,需要先进行锁定,操 作完成后再解除锁定。 例如: Application.Lock

5、(); Application“counter“=(int)Application“counter“+1; Application.UnLock();,8.2 Application与Session,二、Session对象 如何区分不同的浏览器客户呢? 可以通过Session对象实现,当不同的浏览器客户访问 服务器应用程序时,服务器会分别为其分配一段内存空间 用于保存不同用户的数据信息,即每一个客户都有自己的 Session。 定义与使用Session的方法也很简单。 例如: Session“online“=true;,8.3 理解Global.asax,每一个Web应用程序对应Web站点下的

6、一个虚拟目录, 每一个虚拟目录都可以有一个Global.asax文件。在 Global.asax文件中有一些特定的事件很有用,下面我们按 照事件触发顺序列出常用的几个事件:,Application_Start 第1个客户首次请求页面时触发。 Session_Start 每个客户首次请求页面时都触发。 Session_End 关闭应用程序或者每个客户在规定时间 内没有提出请求时触发。 Application_End 在关闭应用程序或者最后1个客户在 规定时间内没有提出请求时触发。,使用Web.config,保存用户配置信息调试信息、客户身份验证等。 保存与数据库连接字符串 (1)打开Web.co

7、nfig,找到 部分, 如果不存在,就在的上面加入 。 (2)在之间加入: (3)保存Web.config文件。 在代码中,如果使用该连接字符串,可以用如下方法: String str= System.Configuration.ConfigurationSettings.AppSettings.Get(“connString“); SqlConnection conn=new SqlConnection(str);,让每一个页面都具有相同的布局,或者自己定义一些具有固定画面的控件,这时就需要使用 Web 用户控件。 Web 用户控件的文件扩展名为 .ascx,使用 Web 用户控件使您能够很

8、容易地在多个 ASP.NET Web 应用程序之间划分和重复使用公共用户界面 (UI) 功能。 与 Web 窗体页一样,用户控件也是在第一次请求时被编译并存储在服务器内存中,从而缩短以后请求的响应时间。但与 Web 窗体页不同的是,用户控件必须包括在 Web 窗体页内才能使用。,8.4 使用 Web 用户控件,举例说明: (1)创建一个ASP.NET Web应用程序,从工具箱中随便向 窗体拖放一些控件。 (2)选择“解决方案资源管理器” 鼠标右击项目名“添 加”“添加Web用户控件”,使用默认文件名 WebUserControl1.ascx。 (3)向WebUserControl1.ascx设

9、计窗体中拖放一个HTML Grid layout Panel控件,设置边框属性为双线,调整为适当大 小,然后向HTML Grid layout Panel内拖放一些控件。 (4)切换到WebForm1.aspx设计窗体,将 WebUserControl1.ascx从解决方案资源管理器中拖放到设计窗 体内。 (5)运行,观察结果。,原理:对A站点来说,第一次启动应用程序应该是第一个人访问这个 站点,这时可以利用Application_Start事件将计数器清零。然后利用 Session_Start事件将计数器加1,如果这个人在某个规定的时间内还没有 再访问A站点,就认为此人已经离线了。,8.5

10、统计网站在线人数,问题:在某一个时刻,A看到的在线人数和B看到的一样吗?,例如:A打开某个网页,显示在线人数是1,B紧接着也打开该网页,这时B看到在线人数是2,但由于A的页面没有刷新,所以A看到的在线人数仍是1。 减少误差的方法:对页面定时刷新。如让页面刷新时间为60秒。 定时刷新页面的方法为:在HTML模式的中加入 其中刷新时间的单位为秒。,举例说明 (1)创建一个ASP.NET Web应用程序,向设计窗体拖放 一个Label控件。 (2)打开Global.asax,在下列事件中加入代码: protected void Application_Start(Object sender, Eve

11、ntArgs e) Application“counter“=0; protected void Session_Start(Object sender, EventArgs e) Application.Lock(); Application“counter“=(int)Application“counter“+1; Application.UnLock(); ,protected void Session_End(Object sender, EventArgs e) Application.Lock(); Application“counter“=(int)Application“cou

12、nter“-1; Application.UnLock(); (3)在WebForm1.aspx.cs的Page_load中加入初始化代码 private void Page_Load(object sender, System.EventArgs e) / 在此处放置用户代码以初始化页面 this.Label1.Text=“当前在线人数:“+Application“counter“; (4)切换到HTML模式,在中加入 (5) 运行,观察结果。,8.6 统计用户登录次数,下面的例子说明了实现统计登录次数的方法。 (1)新建一个ASP.NET Web应用程序,向设计窗 体拖放一个Label控件

13、。 (2)在Global.asax.cs中添加名称空间引用: using System.IO; (3)在Global.asax.cs的相应事件中添加处理代 码:,protected void Application_Start(Object sender, EventArgs e) string file=Server.MapPath(“UserCounter.txt“); if(File.Exists(file) StreamReader sr=File.OpenText(file); Application“userCounter“= Int32.Parse(sr.ReadLine();

14、sr.Close(); else Application“userCounter“=0; ,protected void Session_Start(Object sender, EventArgs e) Application.Lock(); Application“userCounter“=(int)Application“userCounter“+1; StreamWriter sw= File.CreateText(Server.MapPath(“UserCounter.txt“); sw.WriteLine(int)Application“userCounter“); sw.Clos

15、e(); Application.UnLock(); (4) 在WebForm1.aspx.cs中加入初始化代码。 private void Page_Load(object sender, System.EventArgs e) this.Label1.Text=string.Format(“您是第0位登录者!” , Application“userCounter“); (5)运行,观察结果。,思考: (1) 登录页面后,点击“刷新”,登录次数会加1吗? 为什么? (2) 某人登录后,转去干别的事情了,等20分钟后, 此人又重新登录该页面,这时登录次数加1吗?为什么? (3)本例子中只是在S

16、ession_Start事件中处理登录次 数,这种方法适用于统计整个网站用户登录情况,如果要 统计每一个网页的登录情况,如何实现?,在ASP.NET中,可以使用File Field控件实现文件上传 功能,下面举例说明具体用法: (1)向设计窗体拖放一个HTML的File Field控件,一个 Web窗体的Button控件。 (2)选中窗体的File Field控件,单击鼠标右键,选择 “作为服务器控件运行”。 (3)切换到HTML视图,在中添加 enctype=“multipart/form-data“,比如: (4)添加Button控件的Click响应事件,8.7 上传文件,private void Button1_Click(object sender, System.EventAr

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

当前位置:首页 > 办公文档 > 工作范文

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