您还可以找到 MSDN 上有关 ASP.NET 的文档.
运行这个例子,效果如图 1.16 所示. 图1.15 新建一个 Visual C# ASP.NET 项目 图1.16 第一个 ASP.NET 程序 1.3 IIS 7 Web 服务配置 IIS 是Internet Information Server 的简称.IIS 作为当今流行的 Web 服务器之一,给操作系 统提供了强大的 Internet 和Intranet 服务功能.在Windows 的各个版本中,Windows 的服务器 版本通常默认安装 IIS,而其他版本则需要用户自行安装.例如,Windows XP Professional 和Vista 默认是不安装 IIS,需要用户手动安装. 由浅入深学 ASP.NET——基础、进阶与必做 300 题10 本节主要介绍 IIS 7 的安装和配置,使用的操作系统是 Windows Vista. 1.3.1 安装 IIS 7 IIS 7 不需要下载,一般都在 Windows 操作系统的安装盘内,具体安装步骤如下. 提示:VS 2010 开发工具默认集成了网站发布服务,可以不安装 IIS,不过本书还 是建议读者安装,因为这样可以更了解网站的发布原理. 选择"开始"|"控制面板"|"添加或删除程序"命令,打开"添加或删除程序"对话框. 选择左侧的"打开和关闭 Windows 功能"选项,弹出"Windows 功能"对话框,如图1.17 所示. 图1.17 "Windows 功能"对话框 图1.17 中可以找到 Internet 信息服务的选项,展开其所有结点,如图 1.18 所示. 图1.18 Internet 信息服务选项 注意,一定要选中"Web 管理工具"和"万维网服务"下的所有内容,单击"确定" 按钮,完成 IIS 安装. 安装完毕之后,要测试 IIS 7.0 安装是否正确.IIS 7.0 正确安装之后,系统会自动建立一个 默认 Web 站点.用户只需检验是否能够正确访问该网站,就可以判断 IIS 7.0 是否正确安装. 具体操作步骤如下. 选择"开始"|"控制面板"命令,打开"控制面板"窗口. 双击"管理工具"图标,打开"管理工具"窗口.双击"Internet 信息服务管理器" 第1章学习 Web 开发必备知识 11 图标,打开"Internet 信息服务(IIS)管理器"窗口,如图 1.19 所示. 图1.19 "Internet 信息服务"管理器窗口 右击左侧的 Default Web Site 结点,在弹出的快捷菜单中选择"浏览"选项.系统会 打开一个 IE 窗口显示该网页,如图 1.20 所示. 也可以直接打开 IE 浏览器, 在地址栏中输入本机的网址, 可以是 http://localhost/ (localhost 代表本机的默认网址)或者 http://127.1.1.1/(IP 地址 127.1.1.1 代表本机) ,查看是否能打开 asp 或aspx 类型的文件.如果能正常打开,就证明 IIS 已经正确安装并可以运行了. 图1.20 IIS 测试网页 1.3.2 IIS 7 支持的.NET 版本配置 默认的 IIS 服务器配置并不一定适合用户,通常需要进行一些修改.例如,访问 IP、主目 由浅入深学 ASP.NET——基础、进阶与必做 300 题12 录等.操作步骤如下所示. 打开"Internet 信息服务管理器"窗口. 右击"Default Web Site"结点,在弹出的快捷菜单中选择"编辑绑定"选项,弹出"网 站绑定"窗口,如图 1.21 所示. 图1.21 "网站绑定"对话框 选中默认的一条绑定记录,单击"编辑"按钮,在弹出的"编辑网站绑定"对话框中 选择 IIS 服务所使用的 IP 地址.如果选择了 IP 地址,客户端浏览器就可以通过 IP 地址来访问 此网站,如图 1.22 所示. 关闭这些对话框.右击"Default Web Site"结点,在弹出的快捷菜单中选择"高级属 性"选项,打开"高级设置"对话框,如图 1.23 所示. 单击物理路径后面的" "按钮,可以更改网页文件的存放位置和起始位置.当安装 完IIS 7.0 时,默认的主目录是"C:\Inetpub\wwwroot\" . 说明:如果操作系统安装在 D 盘,则默认的主目录是" D:\Inetpub\wwwroot\" . 图1.22 "编辑网站绑定"对话框 图1.23 "高级设置"对话框 关闭所有对话框.单击"Default Web Site" ,在其右侧的功能视图中可以看到有一项 "默认文档" ,双击此项后,打开的界面如图 1.24 所示.这里可以看到站点默认的首页名称为 iisstart.htm、Default.htm 等.当用户直接访问网站时,服务器按照列表顺序依次寻找文档.用 户也可以直接在文本框内添加新的文档. 1.3.3 浏览第一个 ASP.NET 程序 在设计好 ASP.NET 应用程序后,可以通过按下"Ctrl+F5"键来运行程序.但所有的程序 都是通过 IIS 来配置的,如果要使用本书的实例,需要先在 IIS 7 中配置好实例,才可以正常进 行Web 程序的浏览.本节以前面介绍的第一个实例为例,学习如何浏览 Web 程序. 第1章学习 Web 开发必备知识 13 图1.24 默认文档 打开 IIS 7,右击"Default Web Site"结点,在弹出的快捷菜单中选择"添加应用程序" 选项,打开"添加应用程序"对话框,如图 1.25 所示. 图1.25 "添加应用程序"对话框 在"别名"文本框中输入程序的名称,就是要浏览程序的别名,本例为第一个程序命 名为"FirstWeb" .单击"物理路径"文本框后面的 按钮,打开"浏览文件夹"对话框.选择 源代码所在的路径,如果是光盘文件,就选中光盘下的源代码文件夹. 添加完应用程序的别名和路径后,单击"确定"按钮.在"Default Web Site"结点下, 就会生成一个名为"FirstWeb"的结点.右击此结点,在弹出的快捷菜单中选择"浏览"菜单, 则会打开 IE 浏览器,运行效果与前面创建的第一个 ASP.NET 程序相同. 注意:如果是在 VS 2010 中新创建的 Web 程序,会自动在 IIS 7 中生成一个应用 程序结点. 1.4 C#语言基础 C#(读做 C Sharp)是一门新兴的开发语言,本节主要介绍 C#语言的由来,以及 C#与以 前的开发语言的区别,最后还将介绍 C#在Web 应用中的地位. 提示:当前最新的 C#版本是.NET 4.0 框架下的 C# 4.0. 由浅入深学 ASP.NET——基础、进阶与必做 300 题14 1.4.1 C#简介 对C#的由来有两种解释:从字面的意义来解释,是C语言的开发利器;从微软给出的解 释,是C++的升级语言,具有比 C++更优越的开发特性. C#是Web 开发的一种重要功能,Microsoft 将C# 发展成为 Java 语言的重要对手.在Microsoft 提供的.NET 框架中,可以用 C#开发 C/S 应用,也可以开发 Web 应用,并且可以在 一个项目中混合使用 C#和VB(Visual Basic,简称 VB)等语言,这从某种意义上讲,.NET 框 架和 Java 的虚拟机有很大的相似.C#的语法规则和 C++非常相似,有C语言基础的开发者比 较容易上手. C#的优点概括如下. ? 支持快速开发:快速开发曾经是 VB 语言的一大特色,而C#整合了这种特色,借助于 Visual Studio 开发工具,可以通过拖放的形式添加组件,并自动生成组件需要的代码, 同时在 VS 2010 中,自动生成的代码与手动控制的代码相隔离,让开发人员更方便检 查自己的设计. ? 支持面向对象:面向对象(Object-Orientied)是开发程序的一种机制,是专指在程序 设计中采用封装、继承、抽象等设计方法,其重点是类的设计.而C#中什么都是面向 对象,连一个字符串都是面向对象型的设计. ? 对XML 强大的支持:XML(extensibce Markup Language,可扩展标记语言)语言已 经成为一种标准的数据描述语言,支持 XML 开发也成了衡量一种语言是否强大的标 准.C#对XML 语言的支持,体现在强有力的 XML 框架类中,尤其是命名空间 "System.Xml"中,提供了一系列对 XML 读取的操作类,使XML 程序的开发变得非 常容易. ? 面向组件的开发:面向组件是继面向对象后的又一流行趋势,属于设计方法的一种. 在C#中最具特色的组件就是 ADO.NET 数据访问组件. 组件设计也是 C#考虑最多的一 种形式,组件可以在开发中直接使用,也可以调用对象提供的方法来操作. 1.4.2 变量和常量 常量一般是程序中不变的数据,如2, "中国"等,常量也有不同的类型,如2属于数值 型,而"中国"属于字符型.在C#中定义常量的语法如下所示. public const string CHINA = "中国"; 上述代码中, "const"是定义常量的标识,如果没有此标识,即使为"CHINA"指定固定的 值,也不算是常量. "string"是用来定义常量的类型,注意常量在命名时,通常使用大写字母. 变量就是经常发生变化的数据,如计算登录人数的变量"count" ,可能随着登录用户的不 断增加而变化.在C#中定义变量的语法如下所示. public int count = 10; 其中"int"表示变量的类型, "count"表示变量名,变量名可以随意定义,但最好可以突 出此变量的意义所在.注意变量名一般为英文. 变量可以不需要初始值,如下所示的定义也是正确的. public int count; 第1章学习 Web 开发必备知识 15 C#中变量的类型可以概括为三种:文本类型、数值类型和其他类型. (1)文本类型主要包括 string 和char,其中 string 用来存放字符串,char 用来存放单个字 符,两者的定义语法如下所示.其中 string 变量的值用双引号包装,而char 变量的值用单引号 包装. string name = "欢迎到北京来"; char word = 'W'; (2)数值类型包含的内容比较多,如整数、浮点数、长整数等,表1.1 列出了 C#中常见的 数值类型,并演示了这些类型的使用语法. 表1.1 C#中常见的数值类型 类型名称 类型的意义 类型使用语法 int 整型,表示简单的整数 int count = 9; double 双精度浮点数,表示小数 double pi=2.14; float 单精度浮点数 float m = 2.1F; short 短整型,范围:-32768~32768 short count = 999; long 长整型,比短整型范围更大 long count1 = 9999999999; byte 字节.数据的存储形式,范围:0~255 byte b = 105; (3)其他类型主要包括日期型、Object 类型和布尔型.其中 Object 是C#的通用类型,C# 中所有的类型都是从 Object 发展而来.下面演示这三种类型的使用语法. DateTime date ; //日期型 object data; //object 类型 bool ifExit = true; //布尔型 1.4.3 运算符 运算符是 C#进行数据处理的基础,C#中的运算符主要分为 5 类:算术运算符、关系运算 符、逻辑运算符、赋值运算符和"?"运算符. 1.算术运算符 算术运算符是常用的计算符号,如"+" 、 "-" 、 "*" 、 "/"等.算术运算符又分为一目运算 符和二目运算符,其中一目指只有一个变量参与的运算,二目是指两个变量参与的运算.其中 "+" 、 "-" 、 "*" 、 "/"这些运算符,必须有两个变量参与才可以实现运算,而"++" 、 "--"这种 自增、自减的操作,只有一个变量参与.下面的代码演示这些常用的算术运算符. int a = 10; int b = 11; int add = a + b; //"+" int incre = b – a ;//"-" int sum = a * b; //"*" a++; //自增 b--; //自减 2.逻辑运算符 逻辑运算符一般和关系运算符结合使用.关系运算符用来比较两个数据,如"= =" 、 ">=" 由浅入深学 ASP.NET——基础、进阶与必做 300 题16 等,而逻辑运算符用来判断两个或多个使用关系运算的语句.逻辑运算符包含的运算如表 1.2 所示.关系运算符包含的运算如表 1.3 所示. 表1.2 逻辑运算符包含的运算 运算符 说明 && 逻辑与,只有两个表达式都为 true,结果才为 true || 逻辑或,只要有 1 个表达式为 true,结果就为 true ! 逻辑非,取表达式的反值 表1.3 关系运算符包含的运算 运算符说明>大于 >= 大于等于 < 小于 <= 小于等于 != 不等于 == 等于 下面的代码演示逻辑运算符和关系运算符的使用. int a = 10; int b = 11; if (a > b) //关系运算符 label2.Text = (a + b).ToString(); if ((a <= b) || (a <= 11)) //逻辑运算符和关系运算 label2.Text = a.ToString(); if (a > 0 && b > 0) //逻辑运算符和关系运算 label2.Text = b.ToString(); 3.赋值运算符 赋值运算符是 C#最基本的运算,就是为某个变量指定值. "int a=10;"是一个最简单的赋 值运算, "="左边一般为变量的名称,右边为变量的值,有时右边也可能是另一个变量.下面 演示常用的赋值运算. int a = 0; int b; if(a != 0) //关系运算 b=a; //赋值运算 else b=a++; //赋值运算 4.?运算符 "?"运算符通常被称为三目运算符,因为有三个变量参与其中.下面代码是一个很简单 的"?"运算. b = (a > 0) ? a : a++; 上述表达式中有两个关键符号"?"和":" ,其中"?"前边通常是一个关系运算, "?" 第1章学习 Web 开发必备知识 17 后面紧跟两个变量. "?"运算符的意思是判断"?"前面的表达式,如果表达式结果为 true, 则选择"?"后面的第一个值;如果表达式结果为 false,则选择"?"后面的第二个值,两个 值之间以":"间隔. 下面代码中,b 的值为"1" . int a = 1; int b; b = (a>0) ? a : a+运算 1.4.4 流程控制 一个应用程序,通常包含了复杂的应用逻辑,要实现这些逻辑,就必须进行流程控制,本 节介绍 C#中常用的 5 种流程控制语句:if、switch、for、foreach、while. 1.if 语句 if 语句用来判断条件,符合条件则进入 if 语句的代码块,不符合则执行 if 代码块后面的内 容.if 语句的语法如下所示. if(a >0){} 如果有多个判断条件,可以使用 if…else if 的组合语句,使用语法如下所示. if(a >0){ } else if (a = 0) { } else if (a < 0) { } 如果有且只有两个判断条件,可以使用 if…else…的组合语句,使用语法如下所示. if (a > 0) { } else { } 下面的代码演示一个实例,判断 a 是否大于 10,如果大于 10,则a自减,否则 a 自增. int a=15; if (a > 10) //是否大于 10 { a--; } else { a++; } 2.switch 语句 switch 语句也是条件判断语句, 主要用于两个以上条件的判断. switch 语句的语法如下所示. 1. switch () 2. { 3. case "": 4. break; 5. case "": 6. break; 7. default: 8. break; 9. } 由浅入深学 ASP.NET——基础、进阶与必做 300 题18 上述代码中,switch 后面括号中的内容表示要判断的值.语句中的 case 关键字,表示一种 判断.关键字 break 表示此次判断结束并返回.default 关键字是指如果括号中的内容与以上的 所有 case 都不相符时,默认的执行语句. 下面代码中,welcome 的值最终为"奥运北京" . 1. string city="北京"; 2. string welcome; 3. switch (city) 4. { 5. case "北京": 6. welcome = "奥运北京"; 7. break; 8. case "上海": 9. welcome = "上海世博"; 10. break; 11. default: 12. welcome = "欢迎您来到中国"; 13. 14. } 3.for 语句 for 语句表示一个循环,其语法如下所示.其中布尔表达式是允许执行循环的条件.注意 括号中的三个数据以";"间隔. for(初始值;布尔表达式;更新值) 下面的代码演示如何输出 1~10 中的数字.其中初始值为 1,条件是 i<11,每次循环后 i 自增. String str=""; for (int i = 1; i < 11; i++) { str=str+i.ToString(); } label2.Text=str; 4.foreach 语句 foreach 也是一个循环,通常用其实现对集合的遍历,因为此循环的条件不是布尔表达式, 而是获取集合中的所有对象.foreach 的使用语法如下所示. foreach(集合个例 变量名 in 集合) 下面的代码演示一个字符串数组的遍历过程. //定义一个字符串数组 string[] arrayStr = new string[] { "北京", "上海", "深圳" }; string strLong=""; foreach (string str in arrayStr) //遍历数组中的每个字符串 { strLong = strLong + str; //连接字符串 第1章学习 Web 开发必备知识 19 } label2.Text= strLong; 5.while 语句 while 语句是一个标准循环,其语法如下所示.判断布尔表达式的值,如果值为 true,则 执行循环语句的内容,否则不执行. while(布尔表达式) 下面的代码输出 1~10 中的数字,排列顺序为倒序.每执行一次循环,a 都自减,当a=0 时就不再执行循环. int a=10; string str=""; while (a > 0) { str=str+a.ToString(); a--; } label2.Text=str; 1.4.5 隐性局部变量 在JavaScript 中,一般不用 int、string 等来定义变量,而是直接用 var,这一直被认为是类 型不安全的表现.在C#中,依然引入了"var"关键字,但C#的类型转换机制提供了类型安全 的保障.下面是几个常见的隐性局部变量. var i = 6; var str = " hello world"; var d = 21.12; var myary=new int[]{1,2,3,4,5}; 上面的变量都使用了 var 关键字定义,其效果类似于下面的代码. int i =6; string str = " hello world"; double d = 21.12; int[] myary=new int[]{1,2,3,4,5}; var 使用比较简单,但需要注意以下几点: ? var 必须包含初始化器. ? 初始化器必须是一个表达式. ? 初始化器的编译器类型不能是 null 类型. ? 如果局部变量声明了多个声明符,这些变量必须具备相同的编译器类型. 1.4.6 Lambda 表达式 Lambda 表达式和匿名方法有关,是一种简约化表述匿名方法的函数表达式.其表述语法 如下所示,类似于 C++的指针. Param => Expr; 由浅入深学 ASP.NET——基础、进阶与必做 300 题20 Lambda 表达式的作用就是提供一种更简练的方法来书写匿名方法,最常用在泛型匿名方 法的简化上.下面是一个通过匿名方法匹配字符串的实例. 1. static void Main(string[] args) 2. { 3. string[] list = new string[] { "efgcd", "ef", "jsp", "asp.net", "php" }; 4. string[] listAfter = Array.FindAll(list, //利用委托进行匹配 5. delegate(string s) 6. { 7. return s.IndexOf("ef") >= 0; 8. } 9. ); 10. foreach (string str in listAfter) //输出满足条件的字符串 11. { 12. Console.WriteLine(str); 13. } 14. } 下面使用 Lambda 表达式,修订上面的方法. static void Main(string[] args) { string[] list = new string[] {"efgcd", "ef", "jsp", "asp.net", "php" }; //使用 Lambda 表达式 string[] listAfter = Array.FindAll(list, s => (s.IndexOf("ef") >= 0)); //输出满足条件的字符串 foreach (string str in listAfter) { Console.WriteLine(str); } } 可以看到"s => (s.IndexOf("ef") >= 0)"表达式的写法更简单,缺点就是刚开始读起来有些 费劲. 1.4.7 LINQ 集成查询概述 在查询数据库时,通常使用 SQL(Structured Query Language,结构化查询语言)语言来 实现数据的存储和读取,从C# 3.0 开始,微软提出了新的集成查询语言 LINQ.LINQ 之所以 成为集成查询语言,是因为其不仅可以查询数据库,还可以查询对象.本节介绍基本的 LINQ 查询语法,具体的 LINQ to SQL 方法会在第 12 章介绍. 本节介绍的 LINQ 语法主要针对 SQL 语法而言,把常用的 SQL 语法转化为 LINQ. 1.where 语句 where 语句用来查询数据中符合条件的记录.在LINQ 中,where 语句的语法如下所示. from c in customs where c.city == "beijing" select c 第1章学习 Web 开发必备知识 21 其中表名是"customs" ,而表的别名是 c,查询条件是"city="Beijing"" . 2.select 语句 Select 字句用来选择需要显示的字段,如果要显示全部字段,则语法如下所示. from c in customs where c.city == "beijing" select c 如果要显示某一个字段,则语法如下所示. from c in customs where c.city == "北京" select c.name 3.group 语句 group 语句是以分组的形式显示查询的结果,其语法如下所示. from c in customs group c.name by c.city group 和by 关键字结合使用,表示按城市(city)分组显示姓名(name) . 4.order by 语句 order by 语句用来按顺序显示数据,主要是数据的升序和降序排列.order by 的语法如下 所示. from c in customs order by c.name select new{c.name,c.phone} 其中默认的是升序,需要降序,使用关键字"desc" ,如果是要第二个排序字段降序,则 使用下面的语法形式. from c in customs order by c.name,c.phone desc select new{c.name,c.city} 5.into 语句 into 语句会产生一个新的表,表示将此表的查询结果生成到另外一个表中,其使用语法如 下所示. from c in customs group c by c.city into n select new{country=n.key,custcount=n.group.count()} 1.5 编码规范 在编写程序时,编码规范非常重要,一方面可以便于后期的程序维护和管理,另一方面, 规范的编码可以大大降低开发时程序员犯错误的机会. 由浅入深学 ASP.NET——基础、进阶与必做 300 题22 1.5.1 优秀的编码结构 对比下面两段代码,它们的功能相同,都定义了一个矩形类,并包含求面积的方法. (1)第一段代码: 1. public class Rectangle 2. { 3. public double dblWidth; 4. public double dblHeitht; 5. 6. public Rectangle(double _dblWidth,double _dblHeight) 7. { 8. this.dblWidth=_dblWidth; 9. this.dblHeitht=_dblHeight; 10. } 11. 12. public double GetArea() 13. { 14. return this.dblHeitht*this.dblWidth; 15. } 16. } (2)第二段代码: 1. public class Rectangle{ 2. public double dblWidth; 3. public double dblHeitht; 4. public Rectangle(double _dblWidth,double _dblHeight){ 5. this.dblWidth=_dblWidth; 6. this.dblHeitht=_dblHeight; 7. } 8. public double GetArea(){ 9. return this.dblHeitht*this.dblWidth; 10.} 11.} 相信在不作任何解释的情况下,读者还是能够看明白第一段代码的内容,因为它缩进结构 良好,体现了清晰的逻辑结构.而第二段代码呢?恐怕就困难多了. 可以看出,良好的代码层次结构及清晰的代码逻辑结构,可以大大提高代码的质量.一方 面可以降低程序员出错的可能性,另一方面,在代码出现错误的时候也很容易查找. 1.5.2 优秀的注释风格 注释可以大大提高代码的可阅读性,另外在编写程序时,还可以帮助程序员具有更清晰的 思路.同样,仔细研究下面的代码段. 1. ///- aspx文件用什么打开 > 第1篇Web 开发从零开始
-
第1篇Web 开发从零开始
下载该文档 文档格式:PDF 更新时间:2014-08-21 下载次数:0 点击次数:12. /// 接口:形状 3. /// 4. public interface IShape 第1章学习 Web 开发必备知识 23 5. { 6. ///7. /// 方法:求面积 8. /// 9. ///10. double GetArea(); 11. } 12. 13. /// 14. /// 矩形类 15. /// 16. public class Rectangle: IShape 17. { 18. public double dblWidth; //宽19. public double dblHeitht; //高20. 21. ///22. /// 构造函数 23. /// 24. /// 宽 25. /// 高 26. public Rectangle(double _dblWidth,double _dblHeight) 27. { 28. this.dblWidth=_dblWidth; 29. this.dblHeitht=_dblHeight; 30. } 31. 32. ///33. /// 求矩形面积 34. /// 35. ///面积 36. public double GetArea() 37. { 38. return this.dblHeitht*this.dblWidth; 39. } 40. } 很明显, 有了注释之后,完全没有必要对这段代码进行解释了, 读者一定能够看懂. 另外, VS.NET 提供了良好的自动注释功能,在方法或者类前面用"///"添加注释时,会自动生成大 量的注释格式,只需要在相应的位置添入注释项即可. 在此笔者建议尽量使用"///"对类或方法进行注释,这样做还有另外一个好处,当引用这 个类或者方法时,VS.NET 会自动提示注释的内容.如图 1.26 所示是在引用 Rectangle 类的构 造函数时的情况.这样,在调用方法时更加方便. 图1.26 根据方法注释给出提示 由浅入深学 ASP.NET——基础、进阶与必做 300 题24 1.5.3 优秀的命名规范 在C#编码中,常用的命名规范如下. ? Pascal 大小写规范:所有单词第一个字母大写,其他字母小写. ? Camel 大小写形式:除了第一个单词,所有单词第一个字母大写,其他字母小写. 在C#中,推荐的命名规范如下. (1)类名使用 Pascal 大小写形式,如: 1. public class HelloWorld 2. { 3. … 4. } (2)方法使用 Pascal 大小写形式,如: 1. public class HelloWorld 2. { 3. void SayHello(string name) 4. { 5. … 6. } 7. } (3)变量和方法参数使用 Camel 大小写形式,如: 1. public class HelloWorld 2. { 3. int totalCount = 0; 4. void SayHello(string name) 5. { 6. string fullMessage = "Hello " + name; 7. … 8. } 9. } 也可以加前缀以表示变量的类型,但实际上 C#并不推荐这种方式. 1.5.4 避免文件过大 在程序开发中,应尽量避免使用大文件.如果一个文件里的代码超过 300~400 行,就可 以考虑将代码分开到不同的类中;如无法避免,则可以考虑定义 partial 类.另外,也要尽量避 免写太长的方法,一个较理想的方法代码在 1~25 行之间,方法名应尽量体现其功能.比较下 面两段代码: (1)一个好的类,功能独立的方法应尽量分开. 1. /// 矩形类 2. public class Rectangle: IShape 3. { 4. public double dblWidth; //宽第1章学习 Web 开发必备知识 25 5. public double dblHeitht; //高6. 7. /// 求矩形面积 8. public double GetArea() 9. { 10. return this.dblHeitht*this.dblWidth; 11. } 12. 13. /// 求周长 14. public double GetRoundLength() 15. { 16. return this.dblHeith+this.dblWidth; 17. } 18. } (2)不好的类: 1. /// 矩形类 2. public class Rectangle: IShape 3. { 4. public double dblWidth; //宽5. public double dblHeitht; //高6. 7. /// 求矩形面积和周长 8. public double GetData (ref double _dblArea, ref double _dblRoundLengh) 9. { 10. _dblArea= this.dblHeitht*this.dblWidth; 11. _ dblRoundLengh = this.dblHeitht+this.dblWidth; 12. } 13. } 第二段代码把多个功能融合在一个方法里,一方面逻辑比较混乱,另一方面也容易使方法 变得非常大,不易管理. 1.6 承上启下 一、学完本章后,读者需要回答: 1.用户在浏览网页时,页面文件经历了怎样的过程才呈现在用户眼前? 2.静态网页和动态网页有何区别? 3.了解 Java、JavaScript、CSS 以及 Flash 吗? 4.能否独立完成最简单的一个 ASP.NET 程序,在页面上显示几行字? 5.C#是什么?有哪些数据类型? 6.如何定义 C#合理的变量和常量? 7.C#中的运算符有哪些?了解它们的优先级别吗? 8.能够使用流程控制语句组织代码吗? 9.如何从编码结构、注释风格、命名规范,以及控制文件大小方面,写出高质量的代码? 由浅入深学 ASP.NET——基础、进阶与必做 300 题26 二、在第 2 章中,读者将会了解: 1.动态网页的运行机制. 2.ASP.NET 的功能和特点. 3.ASPX 页面的构成. 4.将C#代码嵌入 HTML 中的方法,以及 ASP.NET 将HTML 和C#代码分离的机制. 5.利用服务器控件的事件对 ASPX 页面做出动态响应. 6.利用 ASPX 页面的 Page_Load 事件,在页面加载时执行命令. 1.7 习题 一、填空题 1.在下列的网页程序中,其标题为 .第一个静态页面 这是页面的主要内容