




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ASP.Net程序设计,张凯计算机学院软件工程系,2010年9月15日,第五章HTTP请求、响应及状态管理,Request对象,Response对象,Server对象,Session对象,4,1,2,3,Application对象,5,ViewState对象,6,ASP.NET内置对象,问题提出,Page2页面如何获取Page1的数据,ASP.NET内置对象,ASP.NET页包含了很多用于页面请求处理的对象,开发人员通过调用这些对象及其属性可以实现页面相关业务的处理逻辑。,Request对象,Request对象使服务器端能够在程序中读取客户端的信息以及获取在Web请求的同时发送给服务器端的数据,它是Page对象的成员之一,所以在程序中不用实例化就可以使用。,Request对象,Request对象,示例1:获取客户端信息、服务器环境变量,Request对象,应用程序虚拟根路径:当前请求的虚拟路径:客户端浏览器的类型:客户端浏览器的版本号:根目录的物理路径:URL物理路径:客户端的IP主机地址:当前请求的端口号:客户端的DNS名称:请求方式:客户端发送的内容长度:表单提交来的值:,示例1:获取客户端信息、服务器环境变量,Request对象,Page2页面如何获取Page1的数据,示例2:从浏览器获取数据(Get、Post),Request对象,Default.aspx,Page2.aspx,提交数据的form使用method=post方法或者不指定method,示例2:从浏览器获取数据,Request对象,Default.aspx,Page2.aspx,提交数据的form使用method=get方法,http:/localhost:49158/Page2.aspx?textbox1=12,示例2:从浏览器获取数据,Request对象,Request.Params“TextBox1”或RequestTextBox1,示例2:从浏览器获取数据,Request对象,练习从页面传2个整数到add.aspx相加。,Response对象,Response对象的主要作用:输出数据给客户端。是否启用缓冲,设置或取得HTTP的输出字符编码,动态地向客户端输出内容,将客户端重定向到新的URL等。,Response对象,Response对象,实现向浏览器输出Hello:Response.Write(Hello);页面重定向到指定URL:Response.Redirect();实现向浏览器输出login.txt文件:假设login.txt:abcdeResponse.WriteFile(“login.txt”);/在页面上显示abcde,【返回】,Server对象,Server对象包含了与服务器相关的信息。例如:服务器端机器的名称,返回应用程序中一个文件的绝对径。,Server对象,Server对象,示例1:区别Execute和Transfer方法,Defalut.aspx.cs:protectedvoidPage_Load(objectsender,EventArgse)Server.Execute(WebForm2.aspx);/Server.Transfer(WebForm2.aspx);Response.Write(这是Default.aspx);WebForm2.aspx.cs:protectedvoidPage_Load(objectsender,EventArgse)Response.Write(这是WebForm2.aspx!);,Server对象,Execute方法,Transfer方法,Server对象,Response.Redirect()和Server.Transfer()区别,Server对象,问题提出,protectedvoidPage_Load(objectsender,EventArgse)stringstr=TestString;Response.Write(str);,Whichone?,Server对象,示例2:使用HtmlEncode和HTMLDecode方法,protectedvoidPage_Load(objectsender,EventArgse)stringstr=TestString;Response.Write(str);stringstrHtmlEncode=Server.HtmlEncode(str);Response.Write(strHtmlEncode+);stringstrHtmlDecode=Server.HtmlDecode(strHtmlEncode);Response.Write(strHtmlDecode+);,strHtmlEncode内容:,Server对象,示例3:使用MapPath方法获取物理文件路径Response.Write(Server.MapPath(Default.aspx);区别:Response.Write(Request.PhysicalApplicationPath);,【返回】,C:UserszzllDocumentsVisualStudio2008ProjectsWebApplication1WebApplication1Default.aspx,C:UserszzllDocumentsVisualStudio2008ProjectsWebApplication1WebApplication1,Session对象,问题提出,浏览器,实现同一个客户端多页面间的数据共享/传递,直到客户关闭浏览器,Session对象,Session对象代表服务器与客户端建立的会话从一个客户端打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个Session(会话)。,Session对象,为什么需要Session?当一个客户访问一个服务器时,可能会在这个服务器的多个页面之间反复跳转,服务器应当通过某种办法来识别这是来自同一个客户的不同请求,这种办法通常就是使用Session对象。Session对象可以实现在一个会话期间的多页面间的数据共享/传递。,Session对象,Defalut.aspx:protectedvoidPage_Load(objectsender,EventArgse)SessionSName=wust;Server.Transfer(WebForm1.aspx);WebForm1.aspx:protectedvoidPage_Load(objectsender,EventArgse)SessionSName+=你好!;Server.Transfer(WebForm2.aspx);WebForm2.aspx:protectedvoidPage_Load(objectsender,EventArgse)Response.Write(SessionSName);,如果不赋值,SessionSName默认为null,Session对象,从页面传2个整数到add.aspx相加。,Session对象,protectedvoidButton1_Click(objectsender,EventArgse)Sessiona=TextBox1.Text;Sessionb=TextBox2.Text;Response.Redirect(Receive.aspx);Receive.aspx:protectedvoidPage_Load(objectsender,EventArgse)inta=int.Parse(Sessiona.ToString();intb=int.Parse(Sessionb.ToString();Response.Write(a+b);,Session对象主要属性,Session对象,Defalut.aspx:protectedvoidPage_Load(objectsender,EventArgse)SessionCount=0;SessionName=tom;Server.Transfer(WebForm1.aspx);WebForm1.aspx:protectedvoidPage_Load(objectsender,EventArgse)for(inti=0;i);,Session对象,Session对象(练习)购物车,模拟一个购物车功能:2个商品购买页面(可互相切换),一个购物车(显示购物列表)。,Session对象,Buy1.aspx,Buy2.aspx,Cart.aspx,Session对象,Buy1.aspx,卖点别的查看购物车,protectedvoidButton1_Click(objectsender,EventArgse)if(C1.Checked)Sessionb1=C1.Text;elseSessionb1=null;if(C2.Checked)Sessionb2=C2.Text;elseSessionb2=null;if(C3.Checked)Sessionb3=C3.Text;elseSessionb3=null;,Session对象,Buy2.aspx,卖点别的查看购物车,protectedvoidButton1_Click(objectsender,EventArgse)if(C4.Checked)Sessionb4=C4.Text;elseSessionb4=null;if(C5.Checked)Sessionb5=C5.Text;elseSessionb5=null;if(C6.Checked)Sessionb6=C6.Text;elseSessionb6=null;,Session对象,cart.aspx,您的购物车:);%返回,【返回】,Application对象,问题提出,浏览器,应用程序供享数据,浏览器,如何在应用程序的用户之间传递信息直到关闭Web服务器,Application对象,Application对象需要使用添加Global.asax多个用户间传递数据,由于存储在该对象中的数值所有用户读取,因此特别适合在多个用户之间传递信息。其生命周期为:一旦建立了Application对象,它就会持久地存在,直到关闭WEB服务器服务。,Application对象,页面访问量统计,protectedvoidPage_Load(objectsender,EventArgse)if(ApplicationCount=null)ApplicationCount=1;elseintn=(int)ApplicationCount;n+;ApplicationCount=n;Response.Write(页面访问量+ApplicationCount);,ViewState对象,ViewState是指ASP.net中用来保存web服务器控件在回传时状态值的一种机制。通过在发回给客户的网页中插入一个隐藏属性_VIEWSTATE,该元素的值是一个以base64标准编码的字符串,作为页面的状态存储库。存放了所有web控件在页面提交时显示的值。当客户端把页面回传时,分析回传的窗体(Form)属性,并附给控件对应的值。页上的任何控件,如果其内容不能通过标准的窗体post机制隐式回送,那就必须把它们的值保存到该字段中,并根据它还原。举
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年量子计算在金融风险模拟中的风险管理与技术创新案例研究报告
- 煤炭场地的租赁合同协议
- 矿山转买卖中介合同范本
- 混凝土供应服务合同范本
- 锻造设备出售合同协议书
- 窑厂购买合同协议书模板
- 粤菜厨房承包合同协议书
- 由第三方履行的合同协议
- 电力安全许可转让协议书
- 舞蹈收费培训合同协议书
- 电力工程设备调试及质量保证措施
- 复星医药产品经理培训
- 肿瘤患者心理特征与干预策略
- 幼儿园饮用水卫生培训
- 市容管理课件教学
- 工厂融资合同协议书范本
- GB/T 45802-2025系统与软件工程生存周期过程需求工程
- 乡镇宣传墙管理制度
- 八年级数学下学期期末模拟卷【测试范围:北师大版八下全册】(考试版)
- 教育局预算管理制度
- 年中国特种合金材料行业市场深度分析及发展前景预测报告2025
评论
0/150
提交评论