




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
复习提问:1B/S和C/S的区别?2Web的三层结构是什么?新知识:第3章 Web 窗体一、Web 窗体概述ASP.NET中的Web 窗体(Web Form)就是指一个网页,编制一个Web窗体也就是编制一个网页。但要指出的是网页并不等同于HTML文件,HTML文件可以说是网页的一种,这种网页是不能实现动态交互的,而ASP.NET中的Web 窗体的网页是可以实现动态与交互的,其扩展名是aspx,当一个浏览器第一次请求一个aspx文件时,Web 窗体页面被CLR(common language runtime)编译器编译。如果再次有用户访问此页面的时候,由于aspx页面已经被编译过,所以就可以直接执行编译过的代码。 打开电脑的记事本程序,输入,然后以1.asp存入c:Inetpubwwwroot文件夹中,打开IE浏览器,在地址栏中输入http:/localhost/1.asp,如果IIS安装正确的话,屏幕会显示出即时的日期与时间显示。只需要简单地将文件后缀名改为aspx即可,可见ASP .NET是向下兼容的。一般ASP程序和网页的HTML混合在一起,这就使得程序看上去相当的杂乱,修改与更新都十分不方便;ASP页面是有脚本语言解释执行的,受到脚本语言自身条件的限制,在编写ASP程序的时候不得不调用COM组件来完成一些功能;所以,微软推出了ASP.NET 本教程强调采用可视化的方式,充分利用.NET 2005众多的控件、完善的功能来进行编程,这样可以大大提高编程效效率,充分体现出ASP.NET的优越性。3.3 ASP .NET可视化Web窗体编制选择上图的ASP.NET网站,并在下端左侧位置的对话框中选择“文件系统”,语言选择 Visaul C#;在下端右侧对话框中输入:d:2008;点击“确定”按钮后,系统自动在IIS创建了一个相应的站点,这一点与以前的版本不同,这样建立更方便快捷。此时所建立的aspx等文件均保存在d:2008的文件夹中,如果是已建立好的站点,如在1.3.2节所述的test站点,进入系统后,只需要依次单击上端菜单的【文件】-【打开网站】,然后选择相应的站点就可以进入了。系统默认的文件是Default.asp,进入后屏幕呈现编制Default.aspx的操作窗口: 将鼠标移到左铡“工具箱”,屏幕将出现工具栏,包含常用的Web窗体制作的小工具,我们称之为控件,有了这些控件可以使编程十分方便、快捷,是Web Form 制作中要频繁使用的,在本教程第5章将专门阐述控件的使用。将鼠标移到左铡“工具箱”,屏幕将出现工具栏,包含常用的Web窗体制作的小工具,我们称之为控件,有了这些控件可以使编程十分方便、快捷,是Web Form 制作中要频繁使用的,在本教程第5章将专门阐述控件的使用。对照书上57页至59页,制作可以从工具箱中选取三个Label(标签)、一个TextBox(输入框)、一个DropDownList(下拉菜菜单)与一个Button(按钮)分别置于适当的位置。其中使用DownDownList控件时会出现如图3-7所示的对话框,选取“编辑项”后屏幕会呈现图3-8所示的画面按书上所示的实例制作完成后,按“F5”进行编译,执行后程序要求用户输入自己的姓名再选择性别,然后按确定,屏幕将会根据不同的输入与选择呈现出不同的问候语;呈现如书52页所示图3-1一样的运行结果。至此完成了以可视化方式来制作Web窗体页面的过程以上例子可以看到ASP与ASP.NET有很大的区别,所以说ASP.NET并不是一般ASP的简单升级,ASP程序是解释执行的,而ASPNET程序是编译执行的,ASP程序优点在于简单。但是解释型的脚本语言在每次被执行时都需要重新被解释然后加以执行,因此速度相对比较慢;同时;由于VB Script并不是一种完善的编程语言而只是VB的一个子集,因此无法完成一些只有完善的编程语言才可以完成的工作。而在ASPNET中,所有程序语言会被首先编译成为MSIL,然后MSIL被编译成为机器语言加以执行。所以一个ASP.NET程序第一次执行可能会慢一些,因为需编译,但是以后的执行速度就会显著加快。所以说 ASP.NET为我们提供了一个全新而强大的服务器控件结构。从某些方面来看,ASP.NET和ASP是相近的,但本质上是完全不同的。ASP.NET几乎全是基于组件和模块化,每一个页,对象,和HTML元素都是一个运行的组件对象。 可视化编写网页的方法是使用ASP.NET控件编写结构化页面,每个ASPNET服务器控件(包括ASPNET页面)可以表现一个包含属性、方法和事件的对象模型。ASPNET开发者可以使用这种对象模型来简便地编辑页面或与页面进行交互。 使用ASP.NET编制Web窗体重要的方法是掌握各种控件的使用,熟练各种控件的运用与设置是掌握ASP.NET编程的关键所在。编制Web窗体的基本步骤是首先将所需要的控件拖放到Web窗体中来,并且完成对控件的属性进行各种设置;然后进行后台编程,也就是对相应的.cs文件进行程序语句的插入,进行进行运行调试。.NET 2.0版ASP.NET编程在“格式”、“布局”、与“工具”中有多种设置,可以方便各类编程人员的需要。对初学者,有时将窗口布局设置错了,想恢复初始状态可以选择“窗口”-“重置窗口布局”屏幕会跳出还原该环境的默认窗口布局的对话框,选取“确定”后就可以方便地回到系统的原先布局窗口样式。以下通过几个实例的介绍来加深对Web窗体制作过程的理解。以下通过几个实例的介绍来加深对Web窗体制作过程的理解。3 .5.1图片变化建立一个新的Web 窗体,从工具箱中拖放“ImageBtton”(图形按钮)控件到窗体中,然后右点击该控件,选择属性,在选择属性中的“ImageUrl ”,然后选定在相应文件夹中的图形文件,如下图: 然后双击“开关”按钮,进入cs文件的编程操作界面,在相应的位置输入以下语句:protected void Button1_Click(object sender, EventArgs e) Image Button1.Visible = !Image Button1.Visible; 完成后按“F5”进行编译,点击“开关”按钮,可以看到图形消失,再按一次又出现的效果。第一个按钮操作完成之后,可以进行余下的按钮编程操作,方法相同,在双击上图中“图片”在相应的位置输入以下语句: protected void ImageButton1_Click(object sender, ImageClickEventArgs e) if (ImageButton1.ImageUrl =1.jpg) ImageButton1.ImageUrl = 2.jpg; else ImageButton1.ImageUrl = 1.jpg; 完成后按 F5 编译,点击图形可以看到变化的图形显示。 建立一个新的Web 窗体,从工具箱中拖放二个“Label”(标签)、二个“TextBox”(输入框)与一个“Table”(表格)控件。并在其属的“Text”进行如书中63页图3-18的设置,完成后点击“确定”按钮,输入以后语句:protected void Button1_Click(object sender, EventArgs e) Response.Write(); for (int a = 1; a Convert.ToInt16(TextBox2.Text)+1; a+) Response.Write(); for (int b = 1; b Convert.ToInt16(TextBox1.Text)+1; b+) Response.Write(+a.ToString()+行+b.ToString()+列); Response.Write(); Response.Write(); 通过编译后可以得到输入表格的行与列数字,此处没有加输入验证(验证控件在第5章阐述),所以应该整数,然后按确定就可以产生相应行与列数的表格。此例说明,通过程序也可以产生HTML标记语句。设置字体颜色的变化建立一个新的Web窗体,从工具箱的标准控件栏目中选取一个Label(标签)与DropDownList(下拉菜单)控件并进行相应的属性设置。如书中65页中图3-19所示: 根据书中图3-20、3-21、3-22、3-23所示的步骤完成设置,单击该选项后进入相应的cs文件编辑界面,由于字体颜色变化涉及到Drawing命名空间内容,所以在文件开始部位加入using System.Drawing;语句,然后在DropDownList1选择事件中插入以下语句:protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)Label1.ForeColor = Color.FromName(DropDownList1.SelectedValue.ToString(); 完成后回到DropDownList1属性设置对话框,选择其中AutoPostBack选项,将其设置为True,它的作用是每当选择了下拉菜单中的一个选项之后,即刻触发DropDownList1中事件的发生,见书中图3-23所示。运行后字体的颜色会随着在下拉菜单中不同的选择即时变化 建立一个能显示当天日程安排与记事的日历,首先建立一个新的Web 窗体,从工具箱中拖放一“Calendar”(日历)控件,二个“Label”控(标签)件,一个“TextBox”(输入)与二个“Button”(按钮)控件置于页面适当位置,并将按钮的“Text”属性改为“编辑”与“提交”;如下图所示:3.5.3记事日历完成后将“TextBox”与“提交”按钮的“Visible”属性改为false。双击编辑页面空白处,输入以下语句:protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) Calendar1.SelectedDate = DateTime.Today; Calendar1_SelectionChanged(this, null); 这是页面运行时的初始过程if (!IsPostBack)语句中!是否定意思,IsPostBack是否为提交后返回,因此此语句是页面第一次加载时所执行的操作。所以IsPostBack指判断该Web 窗体是否为响应客户端而发的。该语句在以后的编程中会经常用到,所以一定要加深理随后按照书上第67至68页所提示的操作并输入相应的语句。整个程序完成之后,执行时可以显示出当日的活动安排,并且还可以在以前或将来的日期中输入各种信息以便记录与提示。该程序功能的还可以有多种方法实现,如使用“Calendar”(日历)控件的其他功能及不采用建立文本文件的方法而使用数据库来记录日程数据等。该程序主要是运用ASP.NET来建立文件与文件的读写操作。ASP.NET对文件的操作是很方便的,还可使用File.MoveFileInfo.MoveTo 来重命名或移动文件;使用File.CopyFileInfo.CopyTo 来复制文件;使用 FileInfo.Length 来获取文件的字节数;使用File.GetAttributes 来获取文件的属性;使用File.SetAttributes来设置文件属性;使用CreateDirectoryDirectory来创建目录。计算器的制作建立一个新的Web 窗体,从工具箱中拖放一个“Panel”(容器)控件置于页面中央,并设置容器的背景与边框属性,然后“TextBox”(输入)控件,16个“Button”(按钮)控件置于容器中的适当位置,并将按钮的“Text”属性中的字体内容与大小进行适当的设置;如书上69页图3-26所示:随后按照书上第69至70页所提示的操作并输入相应的语句。整个程序完成之后,就可以运行这个小小的计算器了。通过以上几个实例可以看出,使用ASP.NET来编制程序并不复杂,充分利用系统提供的控件,然后进行一些简单的语句输入就可以编制出种种有用的程序。3.6 ASP.NET编程调试与对错误的处理在制作Web窗体时不可避免地会出现错误,如何尽快地找出错误的语句是解决的关键。首先在编程过程中要学会使用Ctrk+J的帮助提示,如果在编制过程中按了Ctrk+J没有反应,很大可能就是已输入的编程语句有错误,所以应该仔细检查一下。进行编译时如遇到错误,则会中断编译而在屏幕下端出现错误列表的提示,表中会指出在什么文件中第几行,第几列出现什么类型的错误,点击提示行光标将自动转到程序语句中的错误所在行供修改。如果遇到较复杂的错误,一下子改正不了,或不清楚错误的原因,可以采用跟踪执行,方法是在适当的语句上设置中断点,将光标停留在选定的语句行,然后按F9,这时程序行的左边会出现一个橙红色的园球标记,说明程序运行到该语句将暂停,然后可以按一下F10来执行下一句程序行,可以通过不断按F10进行跟踪整个程序的运行过程,以此来找到错误所在,或者优化程序行。在跟踪过程中,屏幕的左下端会出现一个自动窗口,显示即时的各种变量等赋值的数据,可以清楚地看到程序是怎么执行的。为了快速找到程序错误处所在,也可以通过插入程序行的方法,如在适当的位置插入Response.Write(变量);与Response.End();二语句,第一句语句是显示所指定的变量的值,第二句是停止运行整个程序。可以通过将这二句程序行插入到程序的各个部位,以此来查找有错的程序行并纠正。复习提问:1C#的基本数据类型?新知识: 第4章 ASP .NET内置对象4.1 ASP.NET内置对象概述ASP.NET内置对象主要有Page、Response、Request、Server、Application、Session与Cookies对象等,每个对象都有自己的属性、方法与事件,如书中第74页表4-1所示。ASP .NET提供了7个可以直接使用的对象。如:Response、Request等,当Web应用程序运行时,这些对象可以用来维护有关当前应用程序、浏览器、Web服务器的活动状态等基本信息,并为浏览器与Web服务器的处理交互提供桥梁。 Response对象用来提供向浏览器写入处理信息或者发送指令等功能,并对响应的结果进行管理。 常用的方法和属性如 属性Bufferoutput设置是否缓冲要输出到客户端。方法Write向浏览器输出字符串。Redirect实现网页转向,可以转到另外一个网页地址。End自动停止输出数据WriteFile向浏览器输出文本文件void Page_Load(Object sender,EventArgs e)Response.Write(“人民邮电出版社);4.2.2 页面跳转使用Response.Redirect方法可以实现在不同页面之间进行跳转的功能,也就是可以从一个网页地址转到另一个网页地址,可以是本机的网页,也可以是远程的网页地址。例如,输入以下代码。Response.Redirect(/); 当程序被执行的时候,显示的是人民邮电出版社的主页。在调试页面时,如需要程序运行分阶段查看某个变量的结果,那么必须在适当的位置让当前页面停止执行,可以使用Response.End()的方法来完成这个任务。4.3 Request对象Request对象提供从浏览器读取信息或者取客户端信息等功能。可以访问HTML基于表单的数据和通过URL发送的参数列表信息,而且还可以接收来自用户的Cookie信息。在ASP .NET中对应HttpRequest类。Request对象常用的方法和属性 属性 Form获取窗体变量QueryString获取HTTP查询字符串集合。HttpMethod获取客户端使用的HTTP数据传输方法(get、post或head)UserAgent传回客户端浏览器的版本信息。UserHostAddress传回远方客户端机器的主机IP地址UserHostName传回远方客户端机器的DNS名称PhysicalApplicationPath传回目前请求网页在Server端的真实路径。Url获取当前请求的URLRequest对象通常包括了用户端的相关信息,如浏览器的种类、表头信息、表单参数等等。它有3种获取常用的数据的方法,即Request.Form、Request.QueryString、Request,第三种是前两种的一个缩写,可以取代前两种情况。而前两种主要对应Form提交时的两种不同方法,分别是Post方法和Get方法。书第76页实例显示了使用的方式Request对象的属性和方法比较多,常用的几个为:UserAgent传回客户端浏览器的版本信息。UserHostAddress传回远方客户端机器的主机IP地址。UserHostName传回远方客户端机器的DNS名称。PhysicalApplicationPath传回目前请求网页在Server端的真实路径。 protected void Page_Load(object sender, EventArgs e) Response.Write(客户端浏览器: +Request.UserAgent+); Response.Write(客户端IP地址:+Request.UserHostAddress+); Response.Write(服务器端物理路径: + Request.PhysicalApplicationPath + );运行后得出相应的信息,如下图所示4.4 Server对象通过Server对象可以访问服务器的方法和属性,获取有关服务器的信息。其对应HttpServerUtility类。属性 ScriptTimeout设置和获取请求服务器的超时期限,以秒为单位MachineName获取服务器的计算机名称方法 MapPath返回与Web服务器上的虚拟目录对应的物理路径ToString用字符串的形式返回对象的信息 Server对象提供对服务器上的方法和属性的访问,其中大多数方法和属性是为实用程序提供服务的。复习提问:1If语句的结构?2循环执行的流程是什么?新知识: 2.7 面向对象程序设计面向对象是一种模块化的设计思想,现在被广泛应用于软件设计领域。面向对象是以对象为基础的设计思想。本节将讲述面向对象的基本概念,以及如何使用面向对象的思想来设计。2.7.1 对象的概念在面向对象思想中,最基本的单元就是对象。对象可以代表任何事物,从个人到整个学校,一个整数到一个数据集合,一滴水到一条大河等,这些都可以看作是一个对象。对象不仅表示有形的实体,也可以表示无形的、抽象的事物,如课程、计划等。2.7.2 面向对象的设计方法面向对象方法(Object-Oriented Method)是把面向对象的思想应用于软件的开发中。从程序的角度来看,对象是被封装起来的代码块,或者称之为一个功能模块。在对象中,包含着若干个属性和方法。面向对象的主要特征有3个:封装性、继承性和多态性。(1)封装性是把相关联的属性和方法封装为统一的整体,对外只提供访问该对象的信息。使用者不必了解其内部方法的具体实现。(2)继承性分为单继承和多重继承,其主要目的就是防止对象之间出现大量重复的信息。(3)多态性是不同对象在接收同一个消息时产生的不同动作。多态性是依赖于继承性的。2.7.3 命名空间命名空间是用来组织类的。通常可以把相关联的类放在一个命名空间中,从而进行有效的管理。本小节将讲述如何定义命名空间并在外面引用。1命名空间的概念组织代码的最基本的单元就是类,把每个类分别写在一个文件中,可以更好地组织代码的结构。但是,有时候还需要组织各个类,把类又再次分类地进行组织起来。Microsoft公司的.NET架构就提供了一种可以组织类的概念,那就是命名空间。2命名空间的定义和引用用户可以自己定义命名空间,以便程序的功能可以更好地得到扩展,代码也可以更加有效合理地组织起来。这里将讲述如何定义和引用命名空间。(1)命名空间的定义通常在定义类的时候,可以把它放在命名空间中进行定义。 (2)命名空间的引用使用命名空间之前要先引用。引用命名空间是利用using关键字,后跟命名空间的名称。 2.7.4 类类是面向对象中最为重要的概念之一,是面向对象设计中最基本的组成模块。类可以简单地看做一种数据结构。本小节将讲述类的概念、如何声明类以及类的成员等。1类的概念在现实生活中,可以找出很多关于类的例子。 从软件设计的角度来说,类就是一种数据结构,用于模拟现实中存在的对象和关系,包含静态的属性和动态的方法。 2类的声明C#中类的声明需要使用class关键字,并把类的主体放在花括号中,格式如下:class-modifiers class class-name /属性 /方法3类的成员和访问控制从类的继承关系上来讲,类的成员可以分为2大类:类本身声明的和从基类继承的。类的成员的类型有以下几种:常量、变量、方法、属性、事件、索引指示器、操作符以及构造函数和析构函数。从类的访问角度上来讲,类的成员又可以分为4类:公有成员、私有成员、保护成员和内部成员。(1)公有成员公有成员定义了一种允许外部访问的方式,使用修饰符public。 (2)私有成员私有成员只限定在类中的成员访问,外部是不能访问的。如果在声明类成员的时候没有使用修饰符,那么默认就是私有成员,私有成员使用修饰符private
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 泰山医学院护理复试题库及答案
- 业务外包委托协议书要求
- 大专药师考试题及答案
- 人力资源管理中员工培训体系构建工具
- 美丽的自然我们的责任写景作文8篇
- 企业文件分类与管理标准
- 医疗设备采购申请与审批流程管理工具
- 医疗安全教育培训课件
- 公司会议策划及活动执行手册
- 家乡的秋天写景散文(11篇)
- GB/T 18690.2-2017农业灌溉设备微灌用过滤器第2部分:网式过滤器和叠片式过滤器
- 粤教花城版小学音乐歌曲《哈哩噜》课件
- 河北省特种设备检验收费标准
- 集成电路技术导论课件
- 交管12123学法减分试题库带答案
- 培育和践行社会主义核心价值观的课件
- 交通标志牌工程施工组织设计(标准版)
- 第二章药物转运及转运体
- 全区建设工程质量检测人员岗位考试考核实施细则
- 【课件】《红烛》课件24张统编版高中语文必修上册
- 交通事故认定书复核申请书模板
评论
0/150
提交评论