您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > ASPNET内置对象实验报告
ASP.NET实验报告题目:ASP.NET内置对象院系:计算机科学与工程学院【实验题目】ASP.NET内置对象【实验目的】1.理解ASP.NET内置对象的作用。2.掌握Response内置对象的方法及属性。3.掌握Request对象的用法。4.掌握Session对象的用法。5.熟悉Application对象的用法。【实验内容】(一)运用Request对象实现用户登录用QueryString属性接收上一页面使用“?”传递到本页的数据。用户访问网站时首先看到的如图所示页面(default.aspx),当用户填写了自己的姓名并单击“提交”按钮跳转到下一页面(welcome.aspx)时,页面中将显示欢迎信息。(1)打开VisualStudio2010创建一个网站,在Default.aspx页面上创建文本“请输入你的姓名:”,并创建TextBox,最后再创建“提交”按钮。在“提交”按钮中写入事件,首先获取文本框中输入的文本,再通过页面的重定向进行响应,该页面效果如2-1图示。图2-1登录页面效果图(2)点击“提交”按钮进入反馈页面,该页面效果如2-2图示。图2-2反馈页面效果图(二)运用Response对象实现文件下载使用Response对象的WriteFile方法输出一个Excel文件。程序运行时,用户单击页面中链接按钮,弹出对话框;单击“打开”按钮可在浏览器显示Excel文件内容,单击“保存”按钮可单线程下载文件到本地硬盘。该示例开发步骤如下:(1)打开VisualStudio2010创建一个网站,设计Default.aspx页面,在该页面上创建一个LinkButton并显示一段文本提示用户点击下载,再通过Response.WriteFile()实现文件的下载。该页面效果如2-3图示。图2-3提示页面效果图(2)单击文字,进行下载。该页面效果如2-4图示。图2-4下载页面效果图(三)运用Session和Application对象使用Application对象和Session对象,结合全局配置文件Global.asax和站点配置文件Web.config,设计一个能统计当前在线人数的Web应用程序。程序运行时,当有新用户打开网页,或有用户推出时,页面中在线人数能自动更新。(1)编写全局配置文件网站的全局配置文件Global.asax是一个可选文件,创建站点时系统并没有自动生成该文件。可以在“解决方案资源管理器”中“添加新项”命令,选择“全局应用程序类”模板后单击“添加”按钮。(2)修改网站配置文件在“解决方案资源管理器”中双击打开Web.config文件,在system.web标记和/system.web标记之间添加下列语句:sessionStatemode=“InProc”timeout=“1”cookieless=“false/该配置表示设置Session的模式为InProc(在进程中),超时时间为1分钟,SessionID写入客户端cookie,而不是URL中。(3)编写default.aspx的事件代码说明:(1)无论是有新用户加入,还是有老用户退出,显示在页面中Application对象的值只有在页面被刷新后才能更新。(2)用户在客户端直接关闭浏览器并不能触发Session对象的End事件,该事件只能在用户调用了Session.Abandon()方法、服务器重新启动或用户连接超时的情况下才被触发。用户直接在客户端关闭浏览器是一种客户端行为,这种行为时不会被提交到服务器端的。(3)本例中设置超时时间为1min,意味着用户若在1min时间内没有进行任何操作,将视为离线,在实际应用中可能将超时时间设置得更长一些。页面效果如图2-5所示。图2-5页面效果图【实验代码】Request对象:%@PageLanguage=C#AutoEventWireup=trueCodeFile=Default.aspx.csInherits=_Default%!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//EN==servertitleRequest对象的使用/title/headbodyformid=form1runat=serverdiv请输入你的姓名:asp:TextBoxID=txtUsernamerunat=server/asp:TextBoxbr/ br/ asp:ButtonID=btnSubmitrunat=serverOnClick=btnSubmit_ClickText=提交//div/form/body/htmlusingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;publicpartialclass_Default:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){this.Title=Request对象的QueryString属性使用示例;}protectedvoidbtnSubmit_Click(objectsender,EventArgse){stringusername=txtUsername.Text;Response.Redirect(Welcome.aspx?name=+username);}}Response内置对象:%@PageLanguage=C#AutoEventWireup=trueCodeFile=Default.aspx.csInherits=_Default%!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//EN==servertitleResponse对象的使用/title/headbodyformid=form1runat=serverdivbr/br/asp:LinkButtonID=LinkButton1runat=serverOnClick=LinkButton1_Clickh1点击下载学生成绩统计表/h1/asp:LinkButtonbr/br/ /div/form/body/htmlusingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.IO;publicpartialclass_Default:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){this.Title=Response对象的WriteFile方法使用示例;}protectedvoidLinkButton1_Click(objectsender,EventArgse){Response.ContentType=application/vnd.ms-excel;Response.ContentEncoding=System.Text.Encoding.GetEncoding(gb2312);Response.WriteFile(Page.MapPath(1.xls));}}Session和Application对象:%@PageLanguage=C#AutoEventWireup=trueCodeFile=Default.aspx.csInherits=_Default%!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//EN==servertitleSession和Application对象的使用/title/headbodyformid=form1runat=serverdiv/div/form/body/htmlusingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;publicpartialclass_Default:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){Response.Write(b当前在线人数为:+Application[online]+/b);Response.AddHeader(Refresh,30);//设置页面30s刷新一次}protectedvoidButton1_Click(objectsender,EventArgse){Session.Abandon();//使Session对象的End事件发生}}【实验结果】Request对象:Response内置对象:Session和Application对象:‘【实验心得】通过本次实验,我知道了如何通过ASP.NET在网站中加入登录、下载、和在线人数提示的功能,加强了我对ASP.NET的语言的掌握,加深了我对ASP.NETRequest对象、Response对象、Session和Application对象的了解,让我能更加熟练地运用他们。
本文标题:ASPNET内置对象实验报告
链接地址:https://www.777doc.com/doc-7212346 .html