aspnet内置对象.ppt

上传人:小飞机 文档编号:6501788 上传时间:2023-11-07 格式:PPT 页数:27 大小:874.50KB
返回 下载 相关 举报
aspnet内置对象.ppt_第1页
第1页 / 共27页
aspnet内置对象.ppt_第2页
第2页 / 共27页
aspnet内置对象.ppt_第3页
第3页 / 共27页
aspnet内置对象.ppt_第4页
第4页 / 共27页
aspnet内置对象.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《aspnet内置对象.ppt》由会员分享,可在线阅读,更多相关《aspnet内置对象.ppt(27页珍藏版)》请在三一办公上搜索。

1、3.1一个简单的ASP.NET应用程序3.2 关于ASP.NET3.3 ASP.NET控件和对象3.4 ASP.NET数据库应用程序3.5 Web服务的应用,本 章 内 容,3.1一个简单的ASP.NET应用程序,3.1.1 创建ASP.NET应用程序,【例11.1】基于C#的简单ASP.NET应用程序。这是一个简单的ASP.NET应用程序,其作用是将文本框中输入的字符串显示在网页上。创建步骤如下:(1)启动VS 2008,选择“文件”|“新建”|“项目”,打开“新建项目”对话框。在此对话框的“项目类型”框中选择“Visual C#”项,在“模板”框中选择“ASP.NET Web应用程序”,表

2、示要创建基于C#的ASP.NET应用程序,将程序名设置为MyFirstWebApp:,(2)单击【确定】按钮,然后在生成界面的“解决方案资源管理器”中右击“Default.aspx”节点,在弹出的菜单中选择“视图设计器”,以可打开页面的视图设计器。(3)将工具箱中的三个控件拖到设计界面中,这三个控件分别是Label、TextBox和Button控件,并适当设置它们的属性和位置:,3.1一个简单的ASP.NET应用程序,3.1.1 创建ASP.NET应用程序,(4)在设计界面中,双击【访问控件】按钮,即可进入到该按钮的事件处理函数中,实际上是在文件中生成了Button1_Click函数。在该函数

3、中,添加下列代码:Label1.Text=TextBox1.Text;Label1.Font.Size=20;(5)运行程序MyFirstWebApp。方法是:按【Ctrl】+【F5】按钮直接运行,也可以单击快捷菜单栏上的“启动调试”按钮(相当于按【F5】)。在打开的IE浏览器界面的文本框中输入一些字符串,然后单击【访问控件】按钮:,至此,一个简单的ASP.NET应用程序开发完毕。,3.1一个简单的ASP.NET应用程序,3.1.1 创建ASP.NET应用程序,读者可能注意到,虽然做的是网页程序,但没有感觉到要编写任何的网页代码(编写HTML代码是一件烦杂的事情),而只是进行控件的拖放、控件属

4、性的设置以及C#代码的编写,这与开发C#窗体应用程序几乎没有什么区别。这是ASP.NET对Web应用程序设计的极大改进。造成这种改进主要是由于.NET平台采用了界面和代码分开的策略,即网页文件放在Default.aspx文件中,而C#代码则放在文件中。,3.1一个简单的ASP.NET应用程序,3.1.1 创建ASP.NET应用程序,文件是与页面元素相关联的C#文件,它就是ASP.NET代码隐藏的地方。对ASP.NET应用程序来说,这里就是程序员的“用武之地”。前面指出的“界面元素和代码分开”,指的就是将程序文件分为ASP.NET应用中的.aspx文件和.aspx.cs文件。,ASP(Activ

5、e Server Pages)是Microsfot公司于1996年11月推出的面向WEB应用程序开发的技术框架,但它不是程序设计语言,也不是开发工具。简单地,ASP主要是由“”挂起来的代码嵌入到HTML中的一种技术。这些代码是在服务器端执行,执行时无需编译,可以用任何的文本编辑器编写(如记事本等)。此外,ASP可以通过内置的组件实现更强大的功能,如使用ADO可以轻松地访问数据库。ASP.NET则是从HTML发展到ASP,然后伴随着微软的.NET技术的推出而出现的。ASP.NET不是ASP的简单升级,而是全新一代的动态网页开发系统,用于在一台Web服务器上建立强大的应用程序。它是Microsof

6、t.NET技术的一个组成部分,是ASP和.NET技术结合的产物。在Microsoft Visual Studio 2005/2008中,利用.NET提供的控件,可快速开发ASP.NET应用程序,大大简化了编码的过程。,3.2 关于ASP.NET,3.1.1 创建ASP.NET应用程序,相对ASP而言,ASP.NET具有的主要优势包括:实现界面和代码的分开编译执行使用强类型(strongly-type)编程语言,3.2 关于ASP.NET,3.1.1 创建ASP.NET应用程序,ASP.NET主要包括两种编程模型:WebForm:提供了建立功能强大、外观丰富的基于表单(Form)的可编程Web页

7、面,这几乎与VB.NET、C#.NET的窗体开发界面是一样的WebService:通过对HTTP、XML、SOAP、WSDL等Internet标准的支持提供在异构网络环境下获取远程服务、连接远程设备、交互远程应用的编程界面,ASP.NET提供了大量的控件,当用户将控件拖到Web窗体设计界面时,会自动生成相应的HTML代码和C#代码。这为Web应用程序的可视化界面设计提供极大的便利,避免了使用HTML标记语言编写大量代码的麻烦。ASP.NET控件主要分为两大类:Web窗体控件和HTML控件:,3.3 ASP.NET控件和对象,3.3.1 ASP.NET控件,对于Web窗体控件和HTML控件,需要

8、注意以下几点:(1)Web窗体控件是服务器端控件,即它们在服务器端运行,因此不要求客户端浏览器支持Web窗体控件(如不要求安装.NET Framework等),我们在浏览器看到的只是这些控件运行后输出的结果;HTML控件是客户端控件,只有浏览器支持这些控件,它们才能运行。(2)Web窗体控件是以C#为脚本语言,其功能十分强大。HTML控件则以javascript等为脚本语言,其功能较前者弱得多。(3)在设计界面上,当双击Web窗体控件时,会自动在.cs文件中形成并打开控件的Click事件处理函数(C#语言),以供用户编写代码;当双击HTML控件时,则会自动在.aspx文件中形成并打开控件的on

9、click事件处理函数(javascript语言)。,3.3 ASP.NET控件和对象,3.3.1 ASP.NET控件,【例11.2】使用ASP.NET控件实现页面之间传递数据的ASP.NET应用程序。本例介绍如何使用QueryString来解决这个问题。,3.3 ASP.NET控件和对象,3.3.1 ASP.NET控件,(1)在VS2008中创建一个ASP.NET应用程序testWebControlApp。(2)添加一个Web页,方法是:选择“项目”|“添加新项”,在打开的“添加新项”对话框中选择“Web窗体”。(3)在视图设计器中打开文件Default.aspx的设计界面,然后在其设计界面

10、中分别添加2个Label控件、2个TextBox控件和1个Button控件,并在属性编辑器中修改Label和Button控件的Text属性、将TextBox控件的ID分别改为username和password,还将后一个TextBox控件的TextModel属性值设置为password,以将框作为密码输入框。设计界面如下:,(4)在视图设计器中打开文件WebForm1.aspx的设计界面,在设计界面中直接添加2个Label控件即可,它们的ID自动被设置为Label1和Label2。(5)在文件Default.aspx的设计界面中,双击【登录】按钮,在产生的Click事件处理函数中添加如下代码:

11、string dataStr;dataStr=WebForm1.aspx?username=+username.Text+,3.3 ASP.NET控件和对象,3.3.1 ASP.NET控件,(7)运行文件Default.aspx,在文本框中输入用户名和密码。然后单击【登录】按钮,结果输入的用户名和密码被传送到文件WebForm1.aspx对应的页面中。,3.3 ASP.NET控件和对象,3.3.1 ASP.NET控件,从运行结果可以看到,Default.aspx页面中的数据已经成功传送到WebForm1.aspx页面中。,1.Response对象 系统根据用户的请求(打开一个页面)自动创建一个

12、Response对象。该对象用于向客户端传递或输出相关的信息,这些信息包括用户定义的内容、内容的报头、服务器的状态等。其常用的属性和方法包括:Buffer属性该属性用于设置服务器端是否开启缓存功能。如果其值为true,表示开启IIS缓存功能,这时服务器会处理整个页面后再发给客户端,这样用户就可以看到连续的界面,当然这是以牺牲服务器的内存资源为代价;如果其值为false,表示不开启IIS缓存功能,这时服务器会一边处理一边发送,这时用户看到的界面可能是间断的。Expires属性该属性的值表示页面的有效期,单位为分钟。如果用户请求其有效期满之前的相同页面,将直接读取显示缓冲区中的内容,这个有效期间过

13、后,页面将不再保留缓冲区中的内容。,3.3 ASP.NET控件和对象,3.3.2 ASP.NE常用对象,Write()方法该方法用于向客户端输出指定的内容,由客户端解释执行。例如:Response.Write(今天的日期时间:);Response.Write(DateTime.Now.ToString();Redirect()方法该方法用于重定向到指定的URL。例如:Response.Redirect(http:/重定向到“搜狐”主页Response.Redirect(WebForm1.aspx);/重定向到WebForm1.aspx页面也可以在重定向的同时传递一些数据,例如,下列语句在重定向

14、到WebForm1.aspx页面的同时传递字符串“abc”:Response.Redirect(WebForm1.aspx?strname=+abc);,3.3 ASP.NET控件和对象,3.3.2 ASP.NE常用对象,AddHeade()方法增加HTTP头的集合中的元素。如:Response.AddHeader(headname,headvalue);Clear()方法 该方法用于清空IIS缓冲区中的内容(Response.Buffer为True时)。Flush()方法执行该方法时,将IIS缓冲区中的内容发给客户端(Response.Buffer为True时),对客户端来说,其作用就是刷新

15、网页。End()方法当程序执行到该方法时,将终止脚本的处理,起到终止程序继续运行的作用。,3.3 ASP.NET控件和对象,3.3.2 ASP.NE常用对象,2.Request对象 当客户端浏览器向ASP.NET服务器端程序发出请求时,服务器端程序将针对请求的答应信息封装在Request对象中,客户端通过调用Request对象的属性和方法可以获取想要的信息。Request对象的常用属性和方法包括:ApplicationPath属性返回服务器上ASP.NET应用程序的虚拟根路径(string类型)。Path属性返回当前请求页的虚拟路径(包含请求页对应的.aspx文件名)。PhysicalPath

16、属性返回与请求的URL相对应的物理文件系统的绝对路径(包含请求页对应的.aspx文件名)。,3.3 ASP.NET控件和对象,3.3.2 ASP.NE常用对象,PhysicalApplicationPath属性返回当前正在执行的服务器应用程序的根目录在物理文件系统中的绝对路径。ContentLength属性返回所获得内容的长度。ContentEncoding属性返回所获得内容的编码方式。ContentType属性返回所获得内容的类型。Headers属性返回HTTP头的集合。,3.3 ASP.NET控件和对象,3.3.2 ASP.NE常用对象,HttpMethod属性返回客户端使用的HTTP数据

17、传输的方法,如GET、POST或HEAD。Url属性返回当前请求的URL。Browser属性这个属性返回浏览器的有关信息,这些信息十分丰富,包括浏览器是否支持ActiveX控件、是否为测试版、浏览器的名称和版本号等信息。UserHostAddress属性返回客户机的IP地址(string类型)。利用这个属性可以拒绝恶意用户的访问。UserHostName属性返回客户机的DNS名称。,3.3 ASP.NET控件和对象,3.3.2 ASP.NE常用对象,QueryString属性 该属性返回URL所带的附加信息项的集合,集合的类型为,通常用于实现页面之间的数据传递。,3.3 ASP.NET控件和对

18、象,3.3.2 ASP.NE常用对象,例如,下面语句重定向到WebForm1.aspx页面,同时传递三个信息项:Response.Redirect(WebForm1.aspx?s1=str1/结果s=str3,当然,也可以通过下标访问集合中的元素来获取信息项:string s;System.Collections.Specialized.NameValueCollection strs=Request.QueryString;for(int i=0;i strs.Count;i+)s=strsi;,显然,QueryString属性通常与Response对象的Redirect属性搭配使用。实际上

19、,例11.2中的程序testWebControlApp已经使用过这两个属性来实现页面之间的数据传递。,2023年11月7日,第20页,用Request对象获取表单传递值,使用Request对象的Form属性获取表单传递的信息,一般格式为:Request.Form(表单元素名)通过POST方式发送的数据不会显示在URL中,因此POST发送数据会比GET发送安全。,ServerVariables属性 该属性是一个string类型对象的集合,它保存了服务器的有关信息。,3.3 ASP.NET控件和对象,3.3.2 ASP.NE常用对象,例如,我们可以用下列语句输出该属性包含的所有有关服务器的信息:f

20、or(int i=0;i);,一般情况下是通过对象的名称来访问ServerVariables属性中有关服务器的信息。常用的包括:Request.ServerVariablesLocal_Addr/返回服务器的IPRequest.ServerVariablesPath_Info/返回被请求页的虚拟路径Request.ServerVariablesPath_Translated/返回被请求页的绝对路径Request.ServerVariablesServer_Name/返回服务器的名称Request.ServerVariablesServer_Port/返回服务器所使用的端口Request.Ser

21、verVariablesUrl/返回请求页的URL地址,3.Server对象 Server对象封装了服务器的相关信息,利用该对象提供的方法可以获取这些信息。MapPath()方法返回与Web服务器上的指定虚拟路径相对应的物理文件路径,如Server.MapPath(“WebForm1.aspx”)返回“D:VS2008第11章test1test1WebForm1.aspx”。Redirect()方法该方法与Response对象的Redirect()方法具有相同调用方法。例如,下面两个语句的作用是一样的:Response.Redirect(WebForm1.aspx?s1=str1,3.3 AS

22、P.NET控件和对象,3.3.2 ASP.NE常用对象,HtmlEncode()方法 对给定的字符串进行HTML编码,使得浏览器不再按照HTML语法对其进行解释,而是原样输出。例如,对于下面的两条语句:Response.Write(中国人+);Response.Write(Server.HtmlEncode(中国人)+);,3.3 ASP.NET控件和对象,3.3.2 ASP.NE常用对象,因此,如果想将HTML语法中的代码在浏览器输出,就需要使用HtmlEncode()方法。,4.Session对象和Application对象,3.3 ASP.NET控件和对象,3.3.2 ASP.NE常用对

23、象,共同点:都是用于在服务器端保存数据和对象,它们都是object类型的数组,使用方法相同,可以通过对象名或下标引用其中的对象。通常用于保存用户信息、实现网站访问计数等功能。不同点:它们的作用范围不同,Session对象的作用范围是一次会话期内(简单来说,就是从打开网页到关闭网页这个时间段),只为一个用户所拥有;Application对象的作用范围则是Web服务器的一次生存期(从启动服务器到关闭服务器这个时间段),可为所有用户共享。,4.Session对象和Application对象,3.3 ASP.NET控件和对象,3.3.2 ASP.NE常用对象,例如,下面两条语句的作用是将字符串“Pet

24、ter”和“C_sharp”依次添加到Session对象中:Sessionusername=Petter;Sessionuserpass=C_sharp;这两个字符串在Session中的“名称”分别为username和userpass,通过它们的名称即可访问相应的数据和对象。例如,对于下列语句:Response.Write(Sessionusername+);Response.Write(Sessionuserpass+);执行后将输出:Petter C_sharp,当然,也可以通过下标来访问Session对象中的数据:Response.Write(Session0+);Response.Wr

25、ite(Session1+);,实际上,我们也可以用下列语句输出Session对象中的所有数据:for(int i=0;i);,4.Session对象和Application对象,3.3 ASP.NET控件和对象,3.3.2 ASP.NE常用对象,【例11.3】Session对象和Application对象的区别。创建ASP.NET应用程序testSessionApplication,然后在Web窗体的Load事件处理函数中添加有关实现计数功能的测试代码,结果如下:,protected void Page_Load(object sender,EventArgs e)if(SessionsCo

26、unt=null)SessionsCount=1;/初始化 else SessionsCount=(int)SessionsCount+1;/自加1 Response.Write(Session对象的计数结果:+SessionsCount+);if(ApplicationaCount=null)ApplicationaCount=1;/初始化 else ApplicationaCount=(int)ApplicationaCount+1;/自加1 Response.Write(Application对象的计数结果:+ApplicationaCount+);,4.Session对象和Application对象,3.3 ASP.NET控件和对象,3.3.2 ASP.NE常用对象,执行该程序,然后对网页刷新若干次,如刷新两次:,然后关闭该网页,再重新执行该程序,显示的计数结果:,在关闭网页后,Session对象中的数据不复存在,每次打开网页时都要从头创建;而对Application对象来说,只要不关闭Web服务器,其中的数据一直被保存下来。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号