Web窗体常用对象.ppt_第1页
Web窗体常用对象.ppt_第2页
Web窗体常用对象.ppt_第3页
Web窗体常用对象.ppt_第4页
Web窗体常用对象.ppt_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ASP.NET Web窗体,请求处理响应,Get与Post,还可以设定form的method属性指定表单提交方式,get(默认值)是通过URL传递表单值,post传递的表单值是隐藏到http报文中,url中看到不。 点击type=submit的按钮会自动提交表单。 get和post的区别(常考):get是通过url传递表单值,post通过url看不到表单域的值;get传递的数据量是有限的,如果要传递大数据量不能用get,比如type=file上传文章、type=password传递密码或者发表大段文章,post则没有这个限制;post会有浏览器提示重新提交表单的问题,get则没有(加分的回答)

2、。对于Post的表单重新敲地址栏再刷新就不会提示重新提交了,因为重新敲地址就没有偷偷提交的数据了 ,Get and Post,Get方式URL数据格式。服务端文件名后跟着“?”,由于客户端可能向服务器端提交多个键值对,键值对之间用“ protected void Page_Init(object sender, EventArgs e) /. Response.Write(This code will be run firstly ); ,Page类的事件,Page类有许多事件,其中三个基本事件控制了页面的整个处理过程: Page_Init事件在页面服务器控件被初始化时发生 Page_Load

3、事件当服务器控件加载到Page对象中时发生 刷新页面就执行一次事件 Page_Unload事件在服务器控件从内存中卸载时发生,利用Page_Load 初始化控件初值,练习1_2,利用标签在网页上显示当前日期和时间 protected void Page_Load(object sender, EventArgs e) Label1.Text =今天是 + DateTime.Now.ToLongDateString() +DateTime.Now.ToLongTimeString(); ,练习1_3 为下拉框、文本框添加初值,protected void Page_Load(object sen

4、der, EventArgs e) Label1.Text =今天是 + DateTime.Now.ToLongDateString() +DateTime.Now.ToLongTimeString(); DropDownList1.Items.Add(北京); DropDownList1.Items.Add(南京); DropDownList1.Items.Add(上海); txtName.Text = 张三; ,练习_3特点,页面打开 控件有初值 刷新一下页面后,控件显示为原来的初值 问题是 如何在刷新页面后,各控件保持用户选择的值?,Page类的属性,Page类有很多属性,其中最为常用和

5、重要的两个属性是: 1IsPostBack属性 该属性获取一个值(TrueFalse),该值指示页面是否为响应客户端回发而加载,或者它是否正被首次加载和访问 2IsValid属性 该属性获取一个值(TrueFalse) ,该值指示验证是否成功 例5-2 Page类的属性和事件,练习_3代码修改,protected void Page_Load(object sender, EventArgs e) Label1.Text =今天是 + DateTime.Now.ToLongDateString() +DateTime.Now.ToLongTimeString(); if (!Page.IsPo

6、stBack) txtName.Text = 张三; DropDownList1.Items.Add(北京); DropDownList1.Items.Add(南京); DropDownList1.Items.Add(上海); ,Page总结,Page事件 Page_Load() Page 属性 IsPostBack IsValid Page事件功能 初始化控件 ,该页首先被执行的事件,【例5-2】Page类的属性和事件,当页面首次加载时,检查IsPostBack属性,其值为False,显示系统日期和时间为当前时间是:2008-4-5 21:23:15;如果页面作为“回发”的结果加载,那么日期

7、和时间都将保持不变。,ASP.NET内部对象,尽管ASP.NET在本质上与ASP不同,但ASP中许多内容在ASP.NET中都保留了下来,如内部对象、最常用的关键字和运算符等,并且其使用方式也大体相同。 ASP.NET 2.0内部对象包括Request、Response、Server、Application 、Session和Cookie。,页面输入输出控制,Request对象 获得页面输入 URL传参 Form表单提交 Response 对象 在页面输出要显示的内容 重定向,1 Response 对象,Response对象用于动态响应客户端请求,并将动态生成的响应结果以HTML超文本的格式输出

8、到客户端浏览器中。下面列出了Response对象常用的属性和方法。,Response 属性,Response.ContentType = html/text; Response.Charset =“UTF-8”; Response.Buffer = true;,练习2 Response对象,用户输入用户名和密码,单击WriteTest 按钮则在页面显示用户输入的用户名和密码,单击EndTest按钮显示用户输入的用户名,密码,并停止web页面解析,单击提交页面将跳到RequreyTest页面。,相关代码,protected void Button1_Click(object sender, Ev

9、entArgs e)/endTest 按钮 Response.Write(你输入的用户和密码是:); Response.Write(); Response.Write(txtName.Text + txtPWD.Text); Response.Write(); Response.End(); Response.Write(welcome to our site); protected void Button2_Click(object sender, EventArgs e) Response.Write(你输入的用户和密码是:); Response.Write(); Response.Wri

10、te(txtName.Text + txtPWD.Text); Response.Write(); Response.Write(welcome to our site); protected void btnSubmit_Click(object sender, EventArgs e) Response.Redirect(Requery.aspx); ,Response 对象,Response对象常用方法,运行结果如下:,注意单击不同位置得到不同的运行结果。,Response 对象总结,Response 对象允许开发人员对当前页面的输出流进行操作,Response.对象,Redirect方

11、法,Write方法,Response.Write(Hello,ACCP);,直接在页面上输出内容,重定向到另外一个页面,Response.Redirect();,End方法,Response.End(Hello,ACCP);,直接在页面上输出内容,停止页面解析,Request对象,结合JSP,列举页面间传递数据的几种方式? 如何获取传递过来的数据呢?,Request对象,ServerVariables 属性,Form 属性,Params 属性,QueryString属性,获取通过URL路径传来的数据,获取通过表单提交传输的数据,获取Web服务器变量的集合,以上三种方式传输的内容都可以使用该属性

12、获取,Request 对象,获得网站用户的信息,Request 对象,下表给出了Request对象常用的属性,任务3 Request 数据的获取,在左图页面中输入姓名为“admin”,输入密码为“admin”,单击“提交”按钮,结果如右图所示。,任务3 完成过程,新建网页RequestTest.aspx ,拖动对应控件到网页上去。对于按钮“Post提交数据”,设置属性PostBackURl,设置为提交页面的地址。 另外一个按钮“get 提交数据”在事件处理程序中输入下列代码:,protected void Button2_Click(object sender, EventArgs e) st

13、ring str = RequestResult1.aspx?name= + txtName.Text + ,新建页面RequestResult.aspx ,在这个页面拖动2个标签,如果在登陆页面输入的密码和用户名都是admin则显示admin welcome to you,否则返回登陆页面 protected void Page_Load(object sender, EventArgs e) string name = Request.FormtxtName; string pwd = Request.FormtxtPWD; if (name.Equals(admin) ,新建页面Requ

14、estResult1.aspx ,在这个页面放1个标签,如果在登陆页面输入的密码和用户名都是admin则显示admin welcome to you,否则返回登陆页面 在Page_Load事件中输入 protected void Page_Load(object sender, EventArgs e) string name = Request.QueryStringname; string pwd = Request.QueryStringpwd; if (name.Equals(admin) ,Request 获取服务器信息,Response.Write(所有REQUEST的属性为:);

15、 Label2.Text = Request.Path= + Request.Path + + Request.PathInfo= + Request.PathInfo + + Request.PhysicalApplicationPath= + Request.PhysicalApplicationPath + + Request.QueryString= + Request.QueryString + + Request.RawUrl= + Request.RawUrl + + Request.ServerVariables.AllKeys= + Request.ServerVariabl

16、es.AllKeys + + Request.TotalBytes= + + Request.TotalBytes= + Request.TotalBytes + + Request.Url= + Request.Url + + Request.UrlReferrer= + Request.UrlReferrer + + Request.UserAgent= + Request.UserAgent + + Request.UserHostAddress= + + Request.UserHostAddress= + Request.UserHostAddress + + Request.Use

17、rHostName= + Request.UserHostName + + Request.UserLanguages= + Request.UserLanguages; Response.Write(浏览器有背景音乐么:+ Request.Browser.BackgroundSounds); Response.Write(浏览器支持框架么: + Request.Browser.Frames); Response.Write(客户机支持平台是: + Request.Browser.Platform); /写入cookies HttpCookie cook = new HttpCookie(ac

18、ook); cook.Valuesname = admin; cook.Valuespwd = admin; Request.Cookies.Add(cook); /读取cookies HttpCookie acook= Request.Cookies.Get(acook); Response.Write(acook.Valuesname); Response.Write(acook.Valuespwd);,综合示例,获取并打印浏览器的信息 输出浏览器类型(IE/FireFox) 输出相关版本信息 输出客户端语言信息,Request.ServerVariablesHTTP_USER_AGENT

19、; /获取浏览器及版本 Request.ServerVariablesHTTP_ACCEPT_LANGUAGE; /获取浏览器语言,Server 对象,Server对象是HttpServerUtility的一个实例,它提供对服务器上的方法和属性的访问。,Server对象,HtmlEncode方法和 HtmlDecode方法,Execute 方法和 Transfer 方法,UrlEncode方法和 UrlDecode方法,MapPath方法,取得文件的物理路径,执行另一个页面的脚本,将文本编码成可以在浏览器中可正确浏览的格式,URL编码和解码,类似与JSP中的URLEncoder.encode,

20、Server 对象,Server对象用来访问服务器本身相关信息,并提供字符编码功能。下表给出了Server对象的常用方法:,5.5.3 Server 对象,【例5-5】Server对象的常用方法,任务4 了解Server 对象,建立网页ServerTest.aspx,在Page_Load中输入下列代码: Response.Write(Server.MapPath(ServerTest.aspx); Response.Write(); Response.Write(Server.HtmlEncode(HTML 内容); Response.Write(); Response.Write(Serve

21、r.HtmlDecode(HTML 内容); Response.Write(); Server.Transfer(ResponseTest.aspx); /Server.Execute(ResponseTest.aspx); Response.Write(Server.MachineName); Response.Write(); Response.Write(Server.ScriptTimeout); Response.Write();,课后思考,Response 对象的Redirect 方法和Server对象的Execute方法、Transfer方法的区别是什么?,状态管理,JSP中状态

22、保持有哪几种方式? session、cookie等 ASP.NET中状态保持,ASP.NET 状态保持,Session,Cookie,Application,存储于服务器,存储于客户端,应用程序级别的状态保持,Session,Session用于什么场合? 我们知道 Session保持当前用户状态信息 常用于用户登录、购物车等,任务5 Session 示例,第三波网上书店用户登录。 用户输入用户名和密码 检测用户名和密码是否输入合法 登录成功时,在Session中保存用户对象。,Application对象,Application对象可以存储应用程序级的数据。 “Application”:应用程序 第一个用户访问站点时,应用程序启动,并创建一个Application对象。 创建成功后,整个应用程序中都可以使用该对象。 除非应用程序关闭,否则对象一直存储在内存中。,Application对象对应HttpApplication类,它定义 ASP.NET 应用程序中的所有应用程序对象通用的方法、属性和事件。,Application和Session对象,Application对象用于保存所有用户共用的数据信息,这些信息对所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论