收藏 分享(赏)

第15章 开发Web应用程序.doc

上传人:dzzj200808 文档编号:2725990 上传时间:2018-09-26 格式:DOC 页数:27 大小:1.08MB
下载 相关 举报
第15章 开发Web应用程序.doc_第1页
第1页 / 共27页
第15章 开发Web应用程序.doc_第2页
第2页 / 共27页
第15章 开发Web应用程序.doc_第3页
第3页 / 共27页
第15章 开发Web应用程序.doc_第4页
第4页 / 共27页
第15章 开发Web应用程序.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、1第 15 章 开发 Web 应用程序Web 应用程序,是一种以网页形式为界面的应用程序,Web 应用程序可以利用网络的强大功能为用户提供服务。ASP.NET 为这种类型应用程序的开发提供了一个强大的平台。还有一种可以为 Web 应用程序提供服务的网络应用,叫 XML WebService,也叫 Web 服务,它虽然不以可视的界面出现在用户面前,但可以为用户的客户端应用程序或 Web 应用程序提供网络服务。事实上,.NET 本身就具有浓郁网络气息,所以可以毫不夸张地说,Visual Studio.NET 就是为计算机网络技术的迅猛发展而诞生的。15.1 ASP.NET 简介Web 应用程序也叫

2、动态网页。动态网页是相对于静态网页而言的,所谓静态网页,是指所有的网页内容都已事先设计完成,当用户通过网页浏览器(如最常见的 IE 浏览器)请求打开网页时,Web 服务器就将这种事先设计好的网页一字不改地发送到用户的浏览器中供用户浏览。而动态网页则不同,动态网页至少有一部分内容并非事先设计,这部分内容要根据用户的具体请求在 Web 服务器上进行处理,临时生成,然后将包含临时生成内容的网页发送到用户的浏览器中供用户浏览。ASP.NET 就是用于开发动态网页的,它由微软的.NET 技术细化而来,ASP.NET 完全基于模块与组件,和以前的 Web 应用程序开发平台相比,使用户可以像开发 Windo

3、ws 应用程序那样开发 Web 应用程序,有效地缩短了 Web 应用程序的开发周期。15.1.1 ASP.NET 的运行环境由于 Web 应用程序是在 Web 服务器上对页面进行处理,这就决定了 Web 应用程序是在服务器端运行的程序,所以作为 Web 应用程序开发平台的 ASP.NET 其运行环境对计算机的硬件与软件都有一定的要求,其对计算机硬件的要求如下:CPU:PII 300 MHz 以上,推荐使用 PIII 600 MHz 以上。内存:96 MB,推荐使用 128 MB 以上。硬盘空间:完全安装方式至少需要 250MB,快速安装方式需要至少 155MB。显示器:要求分辨率至少 800x

4、600,支持 256 种以上的颜色数。ASP.NET 对操作系统环境的要求较高,它只能在 Windows 2000 Profession SP1、Windows 2000 Server SP1、Windows XP Professional 及更高版本中运行。如果使用的操作系统是 Windows 2000 Professsion 或 Windows XP Professional,则需要安装操作系统具备的 ASP.NET 惟一可以使用的 Web 服务器组件 IIS(Internet Information Service Internet 信息服务) ,Windows 2000 Server

5、在安装时会自动安装 IIS,故无需单另安装。IIS 安装后还需要安装 FrontPage 2000 服务器扩展,因为.NET 框架必须利用 IIS 注册扩展模块。2除了操作系统之外,运行 ASP.NET 还需要安装.NET Framework(.NET 框架) 、MDAC( Microsoft Data Access Components,数据访问组件) 。如果计算机中已经安装了 Visual Studio .Net 2003、IIS 及 NET Framework 1.1,而在 Visual Studio .NET 环境中创建 ASP.NET Web 应用程序时,仍出现图 15-1 所示的出

6、错信息,则说明ASP.NET 运行环境的配置存在问题,需要执行Windows“开始”菜单“程序 ”项“Visual Studio .NET 2003”下“Visual Studio .NET 工具”下的“Visual Studio .NET 命令提示”命令,打开一个命令提示符窗口,键入“aspnet_regiis /i”命令后按Enter键进行修复。15.1.2 ASP.NET 应用程序的组成ASP.NET 的一个重要突破是实现了用户界面程序(html 代码)和功能实现程序(用VB.NET、C#等语言编写的程序)的分离。一个 ASP.NET 页面文件可以被拆分成两个独立的部分:一个文件(xxx

7、xx.aspx )包含 html 代码和控件信息,用来描述页面外观;另一个文件(xxxxx.aspx.cs)包含实现程序功能的代码。图 15-2 和图 15-3 所示的是某 ASP.NET Web 应用程序项目中“*.aspx”和“*.cs”文件的内容,可以看出前者与普通的.htm 文件格式非常相似,而后者则与 C#应用程序的格式相似。图15-2 *.aspx文件的内容 图15-3 *.cs文件的内容程序代码分离提供了这样的可能,从事美工的设计人员负责完成用户界面程序(html代码) ,编程人员负责完成功能实现程序(用 VB.NET、C#等语言编写的程序) ,通过团队合作提供应用程序的质量和开

8、发效率。本章节主要介绍关于*.cs 的设计方法和技巧,关于页面 html 代码方面的知识请参阅有关资料。15.1.3 Web 窗体页及生命周期Web 窗体页就是程序运行后,在用户浏览器窗口显示的网页,当创建一个 Web 应用程序项目后,ASP.NET 会自动生成一个可视化 WebForm1 类定义,即 Web 窗体页,当 Web程序运行时,该类定义可以实例化为一个网页对象,即显示在用户浏览器中的网页界面(Web 应用程序用户界面) 。图15-1 创建ASP.NET Web应用程序出错3虽然,进行 Web 编程与 Windows 编程很相似,但由于网页需要由服务器通过网络传送到客户端计算机上,而

9、服务器对网页的传送处理机制,对 Web 应用程序的设计必然存在影响,使 Web 应用程序设计具有与 Windows 应用程序设计不同的特点。因此了解 Web 窗体页的工作方式将有助于 Web 应用程序的设计。当浏览器向用户展示一个窗体,用户对该窗体进行操作后,将导致该窗体回发到服务器,服务器对用户的操作处理后又将窗体返回到浏览器,这一过程称作“往返过程” 。问题在于,服务器返回的窗体并不是老的窗体,而是重新生成的窗体,这就意味着Web 应用程序又生成了一个新的窗体实例(对象)发送到了用户的浏览器端,也就是通常所说的“刷新” ,并且服务器在完成发送后,立即将生成的窗体释放,不予保留。在下一个往返

10、过程中,服务器仍然生成新窗体。这也就是说,当用户向服务器提交操作时,其看到的操作结果网页已经是一个全新的网页了,相当于将 Windows 应用程序关闭后又重新启动一样。因此,Web 窗体页的生命周期是自用户打开网页开始到提交操作为止的这段时间。这样完全用 Windows 应用程序设计的思路来设计 Web 应用程序,有时会产生意想不到的结果。例如,图 15-4 是一个 Web 应用程序运行时的界面。按照 Windows 应用程序设计的思路,用户输入“5”和“3”后,单击【保存和】按钮,是将“5”和“3”相加的结果,保存在类的初始值为 0 的字段变量 X 中,单击【显示和】按钮是将保存和的 X 的

11、值显示出来,但结果却出人意料为 0,如图 15-5 所示。而单击【计算】 按钮,则是直接将“5”和“3”相加的结果显示出来,结果正常,如图 15-6 所示。图15-4 单击【保存和】按钮 图15-5 单击【显示和】按钮 图15-6 单击【计算】按钮之所以如此,是因为当用户单击【保存和】按钮时,即向服务器提交了操作,当服务器根据操作请求完成处理后,会将新的 Web 窗体页(网页)附加操作结果发送到用户的浏览器,这时就是老的 Web 窗体页生命周期的结束,新的 Web 窗体页生命周期的开始,并且这时的字段变量 X 的值是 “8”,但是当用户单击【显示和 】按钮时,服务器生成新的Web 窗体页后,X

12、 也被重新构造,并初始化为 0,因此显示的结果自然为 0。根据上述的道理,单击【计算】按钮结果正常也就是理所当然了。需要说明的是 Web 窗体页中的“5”和“3”所以在每次生成的新 Web 窗体页中都能正常显示,是因为 ASP.NET 在往返过程间能保存页和控件属性,这称作保存控件的视图状态。顺便说明,Web 窗体页中显示的“5” 、“3”、 “0”“8”等均为动态网页的“动态”部分,因为这些内容不是由“用户界面程序”事先设计的,而是服务器根据用户的操作由“功能实现程序”动态生成的。415.2 创建 Web 窗体应用程序使用 ASP.NET 创建 Web 窗体应用程序的过程与创建 Window

13、s 应用程序的过程类似,分创建项目、添加控件,设计代码、进行调试等环节。15.2.1 创建 ASP.NET Web 应用程序项目计算机中安装了 Visaul Studio .NET,并正确配置了 ASP.NET 的运行环境后启动 Visual Studio .NET 2003,在图 15-7 所示的“新建项目”对话框中选择项目类型为“Visual C#项目” ,选择使用的模板为“ASP.NET Web 应用程序” ,在“位置”栏中指定项目文件存放的位置,如本例的“http:/ localhost /WebAppTest”。单击【确定】按钮进入图 15-8 所示的 ASP.NET Web应用程序

14、的开发环境。该过程中系统会在“C:Inetpubwwwroot”下创建一个名为“WebAppTest”的文件夹,其中存放了该项目包含的所有文件和文件夹。ASP.NET 应用程序开发环境界面与前面介绍过的 C#的界面十分相似,只是用一个网页界面替换了 Windows 窗体控件,并且在工具箱中多出了一些与网页制作有关的“Web 窗体控件” 。在窗口的下方有“设计”和“HTML”两个选项卡,单击选项卡可进入相应的视图方式。在“设计”视图中用户能在可视化环境中进行页面设计,而在“HTML”视图中可查看当前网页对应的 html 代码。图15-8 ASP.NET Web应用程序开发环境当一个新的 Web

15、应用程序被创建后,系统会自动创建以下几个文件: WebForm1.aspx 文件:这是一个空白的 ASP.NET Web 窗体页面,通常可将第一个.图15-7 创建ASP.NET Web应用程序5aspx 文件改名为“default.aspx”或“index.aspx ”作为 Web 站点的缺省主页。 AssemblyInfo.cs 文件:这是一个普通的源代码文件,其中包含了所有的程序集特性。 Global.asax 文件:这是应用程序自动启动时被加载的第一个文件,它包含了Application_Start,Session_Start,Application_End,Session_End 等

16、几个过程。 Web.config 文件:这是 ASP.NET 应用程序的配置文件。15.2.2 ASP.NET 常用控件ASP.NET 为方便用户进行页面设计,提供了大量控件。使用这些控件可帮助用户在可视化的环境中更加直观地设计 Web 页面,避免了使用 html 标记语言书写大量代码的麻烦。当用户将某控件添加到 Web 窗体上时,系统会自动生成相应的 html 代码,用户可单击窗体下方的“html”选项卡,进入 html 视图对这些自动生成的代码进行浏览、编辑或修改。1. ASP.NET 控件的分类在 ASP.NET 中控件分为 Web 窗体控件和 html 控件两大类。在图 15-9 所示

17、的 html 控件工具箱中,可以看到一些 Web 页面中常用的元素。如标签控件 Lbale、命令按钮控件Button、重置按钮控件 Reset Button、提交按钮控件 Submit Button 等。图15-9 html控件 图15-10 Web窗体控件在图 15-10 所示的 Web 窗体工具箱中,可以看到一些控件与前面介绍过的 Windows 窗体控件相同,如标签控件 Label、文本框控件 TextBox、命令按钮控件 Button 等。此外有一些 Web 窗体专用的控件,如链接按钮 LinkButton、图片按钮 ImageButton、超链接HyperLink、下拉列表框 Dro

18、pDownList、表格控件 Table 等。Web 窗体控件与 html 控件或 html 表单(html Form)相比较,除了功能更加强大外,还有一个重要的区别,Web 窗体控件是服务器端控件,是在服务器端生成的,用户在浏览器中看到的内容是程序在服务器端运行的结果。这就意味着客户端完全可以不安装.NET 框架,也可以正常浏览 ASP.NET 网页。使用 Web 窗体中的控件,可像在 C#的 Windows 应用程序中一样编写这些控件的事件代码,这也是 Web 窗体控件与 html 控件的一个关键不同点。html 控件是运行在客户端的控件,用户的浏览器必须支持这些控件才能看到预期的效果。在

19、设计时,程序员可通过查看控件图表左上角是否有一个绿色三角标记来区分它们,6如图 15-11 所示。图15-11 两种控件外观上的不同2. 使用 ASP.NET 控件本节将通过一个综合实例介绍 Web 窗体中常用控件的使用方法,同时也通过该实例说明创建一个简单 Web 应用程序的一般步骤。【例 15-1】创建并在服务器上发布一个 Web 应用程序。要求当用户通过浏览器访问程序发布站点的 URL 时,显示图 15-12 所示的页面。当用户选择了相应的数据后,单击【提交】按钮,在页面的下方将显示出用户提交的信息。程序设计步骤如下。(1) 设计 Web 程序界面首先在 Visual Studio .N

20、ET 环境中创建一个ASP.NET 应用程序项目。首先向 Web 窗体上添加一个标签控件 Label1。单击“工具箱”中的“html”选项卡,选择“Table”(表格)控件,在 Label1 的下方“绘制”出一个 html 表格(系统缺省地将表格设置为 3 行 3列) 。单击 Web 窗体下方的“HTML”选项卡进入图15-13 所示的 html 视图方式,图中被选中的部分为表格中的行列定义,其中“”是对一行表格的定义,在“ ”与“”之间的“”是对表格一行中的一个单元格的定义。要使表格变为 3 行 2 列,只需删除每个“”与“”之间的一个“”即可。要增加表格的行,只需复制粘贴“”到“”之间的内

21、容即可。按上述方法将表格修改为 6 行 2 列,修改前后的 html 代码如图 15-14 所示。图15-13 Web页面的html视图 图15-14 修改前后的html 代码图15-12 浏览器中ASP.NET应用程序运行结果7回到“设计”视图,选中整个表格可以整体调整表格的大小,用鼠标在表格的某一单元格中单击即可在其中直接输入文字或添加控件,并且可以调整表格内表格线。在表格第 1 列的前 5 行中直接依次输入文字:“姓名:” 、 “性别:” 、 “出生日期:” 、“所在省/自治区:” 、 “爱好: ”。将光标定位在第 1 行第 2 列,鼠标双击 Web 窗体工具箱中的文本框控件 TextB

22、ox,将其添加到该单元格中并适当调整其大小和位置。该控件名称(ID)属性默认为 TextBox1。将光标定位在第 2 行第 2 列处,用鼠标双击 Web 窗体工具箱中的单选按钮组控件RadioButtonList,将其添加到该单元格。系统缺省地将其成员数量默认为 1,Text 属性默认为“未绑定” ,名称(ID)属性默认为 RadioButtonList1。将光标定位在第 3 行第 2 列处,用鼠标双击 Web 工具箱中的文本框控件 TextBox,将其添加到该单元格,其名称(ID )属性默认为 TextBox2。输入“年” 。双击下拉列表列表框控件 DropDownList 两次,添加两个该

23、控件,其 Text 属性默认为“未绑定” ,名称(ID )属性依次默认为 DropDownList1、DropDownList2 。将光标定位在第 3 行第 2 列处,用鼠标双击 Web 工具箱中的 DropDownList 控件,将其添加到该单元格,其Text 属性默认为“未绑定” ,名称(ID )属性默认为DropDownList3。将光标定位在第 5 行第 2 列处,双击复选框列表控件 CheckBoxList,将其添加到该单元格,其 Text 属性默认为“未绑定” ,名称(ID)属性默认为CheckBoxList1。将光标定位在第 6 行第 2 列处,用鼠标双击 Web 工具箱中的按钮

24、控件 Button,将其添加到该单元格,其Text 属性默认为“Button ”,名称( ID)属性默认为 Button1。用鼠标单击 Web 窗体后,再用鼠标双击 Web 工具箱中的标签控件,将其添加到 Web页面中。拖动新添加的标签控件到表格下方的适当位置并调整其大小。重复上述操作向窗体中再添加 3 个标签控件。这 4 个标签的与开始添加的 1 个标签的名称(ID)按添加的先后次序依次默认为 Label1、Label2、Label3、Label4、Label5,而它们的 Text 属性均默认为Label。设计界面如图 15-15 所示。(2) 设置对象属性选择 Label1,在属性窗口中设

25、置其 Text 属性为“个人信息调查” 。在属性窗口单击“Font”属性左侧的“+”号,在展开的子属性中,单击 “Name”属性右侧的下拉按钮,选择“华文彩云” ,单击“Size”右侧的下拉按钮,选择“X-Large ”,如图 15-16 所示。设置该标签的背景色与前景色,最好使用“Web”选项卡中的颜色并注意颜色的反差。选择 RadioButtonList1 控件,在其属性窗口中单击 “Items”属性右边的 按钮,打开图 15-17 所示的对话框。单击【添加 】按钮,向单选按钮列表中添加成员,并设置其 Text 属性分别为“男”和图15-15 设计Web应用程序界面图 15-16 设置字体

26、8“女” 。设置完毕后单击【确定】按钮关闭对话框。为了使单选按钮组中所有成员横向排列,可将其“RepeatDirection” (布局方向)属性设置为“Horizontal” (水平) 。选择 DropDownList1 控件,在其属性窗口中单击 “Items”属性右边的 按钮,打开图15-18 所示的对话框。单击【 添加】按钮向其中添加程序运行时提供给用户的选项,其中第一项的“Text ”。属性为“月份” ,其后依次为“1 月”“12 月” 。依法将 DropDownList2控件添加各项设置为“日期”及“1 日”“31 日” 。选择 DropDownList3 控件添加各项设置为 “省/自

27、治区” 、 “北京市” 、 “上海市” 、 “天津市” 、 “河南省” 、 “河北省” 、 “山东省” 、 “山西省” 、 “其他省” 。设置复选框列表(CheckBoxList1)控件与设置单选按钮列表控件的方法类似。设置四个复选项:“足球” 、 “网球” 、 “旅行”和“音乐” 。设置“RepeatDirection ”(布局方向)属性值为“Horizontal” (水平) 。然后,选中控件通过拖动控件其周边出现的控制点调整控件的大小,使所有成员的说明文字能正常显示。图15-17 添加单选按钮组提供的选项 图15-18 添加下拉列表框中的选项选择按钮控件 Button,在属性窗口中设置其

28、Text 属性为“ 提交” 。设置表格下面四个标签(Label2 Label5 )的 Text 属性为空。在代码中需使用对象名称的控件的“ID” (名称)属性设置见表 14-1。9表 14-1 各控件 ID 属性设置原 ID 属性值 修改 ID 属性值 说明textBox1 txtName 输入姓名文本框RadioButtonList1 radSex 性别单选按钮textBox2 txtYear 输入出生年份文本框DropDownList1 dropMonth 选择出生月份下拉列表框DropDownList2 dropDay 选择出生日期下拉列表框DropDownList3 dropArea

29、选择所在地下拉列表框CheckBoxList1 chkLike 选择爱好复选框label2 lblNameSex 显示姓名、性别标签label3 lblbirthday 显示出生日期标签label4 lblArea 显示所在地标签label5 lblLike 显示爱好标签设置完成界面如图 15-19 所示。(3) 编写程序代码双击 Web 窗体进入代码窗口,为窗体的 Load 事件添加如下代码:private void Page_Load(object sender, System.EventArgs e)/ 在此处放置用户代码以初始化页面/ 清空显示信息标签的文本属性值lblNameSex.

30、Text=lblBirthday.Text=lblArea.Text=lblLike.Text=“;【提交】按钮被单击时执行的事件代码如下:private void Button1_Click(object sender,System.EventArgs e)lblNameSex.Text=“姓名:“+txtName.Text+“ 性别:“+radSex.SelectedItem;lblBirthday.Text=“出生日期:“+txtYear.Text+“年“+dropMonth.SelectedItem+dropDay.SelectedItem;lblArea.Text=“所在地:“+dr

31、opArea.SelectedItem;lblLike.Text=“爱好:“;for(int i=0;i“);Response.Write(“);Response.Write(“);Response.Write(“类型:“ +bc.Type + “);Response.Write(“名称:“ + bc.Browser + “);图 15-24 程序运行结果14Response.Write(“版本:“ +bc.Version + “);Response.Write(“操作系统:“ +bc.Platform + “);Response.Write(“是否测试版:“ +(bc.Beta?“是“:“否

32、“) +“);Response.Write(“是否支持框架网页:“ +(bc.Frames?“ 是“:“ 否“) +“);Response.Write(“是否支持表格:“ +(bc.Tables?“是“:“ 否“) +“);Response.Write(“是否支持 VBScript:“ + (bc.VBScript?“是“:“否“) +“);Response.Write(“是否支持 JavaScript:“ +(bc.JavaScript?“是“:“否“) +“);Response.Write(“是否支持 JavaApplets:“ +(bc.JavaApplets ?“是“:“否“)+ “)

33、;Response.Write(“是否支持 ActiveX 控件:“ +(bc.ActiveXControls ?“是“:“ 否“)+“);“HttpBrowserCapabilities bc = Request.Browser;”语句用于将返回的客户端浏览器信息,赋值给自定义的 HttpBrowserCapabilities 对象 bc。随后的代码中通过 bc 对象的各属性值,获得客户浏览器的详细数据。“”为换行符。代码中的逻辑值使用条件表达式转换为“是”与“否” 。(4) ServerVariables 属性Request 对象的 ServerVariables 属性用来获取服务器的有关

34、数据。常用的选项有。 Local_Addr:返回本地 IP 地址。 Path_Info:返回当前被请求的相对路径。 Path_Translated:返回当前被请求的绝对路径。 Server_Name:返回服务器名。 Server_Port:返回服务器端口号。 Server_SoftWare:返回响应请求的服务程序。【例 13-4】使用 Request 对象的ServerVariables 属性获取服务器有关信息。创建一个新的 ASP.NET Web 应用程序项目,在 WebForm1 的 Page_Load 事件中添加如下代码。程序运行结果如图 15-25 所示。private void Pa

35、ge_Load(object sender, System.EventArgs e)/ 在此处放置用户代码以初始化页面Response.Write(“);Response.Write(“);Response.Write(“);Response.Write(“本地 IP 地址:“ +Request.ServerVariables“Local_Addr“+“);Response.Write(“当前被请求的相对路径:“ + Request.ServerVariables“Path_Info“+ “);Response.Write(“当前被请求的绝对路径:“ + Request.ServerVaria

36、bles“Path_Translated“+ “);Response.Write(“服务器名称:“+ Request.ServerVariables“Server_Name“+ “);Response.Write(“服务器端口:“ + Request.ServerVariables“Server_Port“ +“);Response.Write(“响应请求的服务程序:“ +Request.ServerVariables“Server_SoftWare“ + “);图15-25 程序运行结果15事实上,ServerVariables 属性是一个集合,因此可以将该属性当做数组来使用,即可以将方括号

37、中的选项换成下标,改为如下的代码形式可以得到同样的结果:Request.ServerVariables27Request.ServerVariables28Request.ServerVariables2Request.ServerVariables36Request.ServerVariables37Request.ServerVariables4015.3.4 Application 对象和 Session 对象使用 Application 对象和 Session 对象可以在服务器端保存信息,从而方便地实现不同网页之间的数据共享。1. Application 对象和 Session 对象的

38、区别Application 对象和 Session 对象都可在服务器端保存数据或对象,但 Application 对象中保存的信息是为所有来访的浏览器共享的,而 Session 对象保存的数据则是仅为特定的来访者共享的。例如,在河南的 A 用户和在河北的 B 用户同时访问某一服务器,若 A 修改了Application 对象中存放的信息,B 用户在刷新页面后就会看到修改后的内容;但若 A 修改了 Session 对象中存放的数据,B 用户是感觉不到的。此时只有 A 可以看到并使用这些数据。也就是说 Session 对象中存放的是专用共享信息。2. 向 Application 对象或 Sessi

39、on 对象中存入数据向 Application 对象中存入数据的方法十分简单,下面的语句将一个字符串存入对象中。Application“welcome“=“本网站欢迎来访 “;由于 Application 对象可以存放多个数据,所以需要用一个标识 welcome 加以区分。向 Session 对象中存入数据的方法类似,如下面的语句同样将一个字符串存入对象中。Session“welcome“=“本网站欢迎你来访“;3. 从 Application 对象或 Session 对象中取出数据假设 Web 窗体页中有一 ID 为 LblWelcome 的标签,下面的语句表示了如何从Application

40、 对象或 Session 对象中取出数据的方法。LblWelcome.Text=Application“welcome“.ToString( )+“ “+Session“welcome“.ToString( );15.3.5 Server 对象Server 对象提供了访问服务的方法和属性,其常用的方法主要有以下几个。1. MapPath 方法把网页 URL 路径转换成服务器的实际路径。如,c:inetpubwwwrootWebAppServer Variables 是某站点的根目录,则“Server.MapPath(“Webform1.aspx“);”语句将返回c:inetpub wwwroo

41、tWebAppServerVariablesWebform1.aspx。2. Transfer 方法Server 对象的 Transfer 方法与前面介绍过的 Response 对象的 Redirect 方法十分相似,都是用于将当前页面重定向到另一个页面中。例如,下列语句将页面重定向到16WebForm2.aspx。Sever.Transfer(“webform2.aspx“)3. HtmlEncode 方法该方法对特殊字符如, “”进行编码,使之不再被视为 html 标记。下列语句在浏览器中,将不再把文字显示为标题 3 样式,而是显示双引号中的所有内容,即将 html标记直接显示出来。Res

42、ponse.Write(Server.HtmlEncode(“不再表示标题 3,而要将 html 标记显示出来“);4. URLEncode 方法空格和汉字等对 URL 地址来说都是特殊字符,所以若网址中包含特殊字符,就需要用Server.URLEncode 对特殊对象进行编码。下列语句使用 Server 对象的 URLEncode 方法对URL 数据进行了编码,从而使之能正确地显示在浏览器中。Response.Redirect(“webform2.aspx?para=“ +Server.UrlEncode(“%good-bye%“);该语句可使另一页面中的 Request 对象接收到正确的数

43、据。Response.Write(“收到的参数是:“ + Request“para“);15.4 在 Web 应用程序中访问数据在 ASP.NET 中仍是通过使用 ADO.NET 实现数据库访问的,操作与 Windows 应用程序对数据库的访问基本一致,可以实现对数据库数据的读取、更改与添加删除。由于网络中对数据库的访问以数据的读取为多,所以本节通过一个实例介绍如何在 ASP.NET 应用程序中读取显示数据库中数据。假设已创建了一个 Access 数据库“用户.mdb ”,其中含有一个“用户信息”表,表中包括“用户号” 、 “用户名” 、 “所在地” 、 “街区”和“电话”等字段,并包含有若干

44、记录。要求 ASP.NET 应用程序运行时能将“用户信息”表中的数据显示在打开的网页中,如图15-26 所示。15.4.1 设计程序界面首先进行创建项目、设计界面和设置对象属性的操作。1. 创建项目在 Visual Studio .NET 环境中创建一个 ASP.NET Web 应用程序项目,这时,系统将在默认站点位置生成一个 Web 文件夹。将需要访问的数据库文件(本例为“用户.mdb ”)复制到站点的 Web 文件夹中(一般为 C:Inetpub wwwrootxxxxx,xxxxx 为项目名称) 。也可以在站点的 Web 文件中创建一个专门存放数据库的文件,如“DataBase” ,将数

45、据库文件复制到该文件夹中,以便于管理。 图15-26 程序运行结果172. 设计界面在工具箱的 Web 窗体控件选项卡中双击标签(Label )控件,为窗体添加一个标签,适当调整标签的大小与位置。双击数据表(DataGrid)控件,为窗体添加一个数据表控件,适当调整表格的位置。3. 设置对象属性选中标签控件,将其 Text 属性设置为“用户信息表” ,在属性窗中单击“Size”左侧的“+”号,展开 “Size”属性的子项,如图 15-27 所示。单击 “Name”属性,选择字体“华文彩云” ,选择“Size”属性的“X-Large” 。在属性窗口设置“BackColor”与“ForeColor

46、”属性调整背景色与前景色,注意应选择“Web”标签中的颜色,即使用网页安全色,以保证网络支持所选颜色。图15-27 设置字体属性 图15-28 完成属性设置在 Web 窗体设计视图选中 DataGrid1(数据表格对象)控件,单击鼠标右键,选择弹出菜单中的“自动套用格式”命令,在打开的对话框中选择“彩色型 3”,设置表格的风格。属性设置完成后的网页如图 15-28 所示。15.4.2 访问与显示数据在 ASP.NET 中访问数据库与在 Windows 中访问数据库的操作步骤基本相同: 创建 DataSet(数据集合)对象,以存放从数据库中读取的记录; 创建与数据库的连接,即创建 OleDbCo

47、nnection(Ole 数据库连接)对象,建立程序与数据库的数据传输通道; 创建 OleDbDataAdapter( Ole 数据库数据适配器)对象,以完成从数据库读取记录或将程序使用的记录写入数据库; 将数据库中读取的数据写入 DataSet(数据集合)中,即数据填充; 将 DataSet(数据集合)中的数据与控件(如数据表格)绑定,以显示数据。其中,由于第步需要使用连接字符串,第步需要使用 SQL 语句字符串,所以在实施上面的步骤之前,应该使用两个变量将字符串设置好,以做好准备工作。另外,由于需要使用控件显示数据,所以通常应先添加这些控件,例如本例使用的数据表格控件已预先添加设置完成。创

48、建访问数据库的相关诸对象,既可以用可视的方式完成,也可以使用代码来完成,本例使用代码创建这些对象。18首先创建 DataSet 对象,在类定义的开始处声明 DataSet 对象字段 ds,代码如下:public DataSet ds;代码的位置如图 15-29 所示。图15-29 声明DataSet对象的位置这时的 ds 只是一个空引用。其他内容的代码在 Web 窗体页的 Load 事件中设计,代码如下:private void Page_Load(object sender, System.EventArgs e)/ 创建连接对象所使用的参数存放在 myConnStr 字符串变量中strin

49、g myConnStr= “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“+Server.MapPath(“.“)+“用户.mdb;“;/ 创建 Ole 数据库数据适配器对象所使用的 SQL 查询语句参数存放在 strSel 字符串变量中string strSel=“Select * from 用户信息“;/ 将 DataSet 对象 ds 实例化,第步操作完成ds=new DataSet();/ 创建数据库连接对象并实例化,注意参数是前面声明的 MyConnStr 字符串变量/ 第步操作完成System.Data.OleDb.OleDbConnection MyConn = new System.Data.OleDb.OleDbConnection(MyConnStr);/ 创建 DataAdapter(数据适配器)并实例化,注意参数已声明。第步操作完成System.Data.OleD

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

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报