已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ASP.NET动态网站开发教程(第三版)各章习题参考答案第1章 习题参考答案1. 答:静态网页和动态网页在客户端看来是除了发送请求是的后缀名外没有其它任何区别,主要是服务器端的区别。静态网页服务器在接收了客户端的请求后直接读取相应的网页文件返回给客户端,而动态网页服务器在接收到了客户端发来的请求后先找到相应文件然后根据相应参数将文件编译成标准的html代码,再返回给客户端。2. 答:asp:优点:简单易学、容易上手;缺点:不能跨平台,速度较慢。php:优点:免费、开放源代码;缺点:缺乏大公司的支持。jsp:优点:跨平台;缺点:复杂难学。3. 答程序结构清晰、效率增强、顶级开发工具支持、开发简单、支持Web服务。4. 答:QQ系统同时使用了C/S和B/S模式,QQ网站的服务器是服务器端,因为它提供服务;而家中的电脑就是客户端了。第2章 习题参考答案1. HTML超文本标记语言,是一种基于标记的网页设计语言。XHTML是为了适应XML而重新改造的HTML,也是一种标记语言。它可以看作是从HTML到XML的过渡。XHTML要求在网页中出现的任何元素都应该被标记出来。2. 和标记都可以用于换行,是段落标记,在换行的同时,会在前段与后段之间留一空白行。不会产生空行。3. 和4.参考2 _4.html5. .参考2 _5.html6. .参考2 _6.html第3章 习题参考答案1. 答:值类型和引用类型的区别在于,值类型的变量直接存放实际的数据,而引用类型的变量存放的则是数据的地址,即对象的引用。值类型变量直接把变量的值保存在堆栈中,引用类型的变量把实际数据的地址保存在堆栈中,而实际数据则保存在堆中。注意,堆和堆栈是两个不同的概念,在内存中的存储位置也不相同,堆一般用于存储可变长度的数据,如字符串类型;而堆栈则用于存储固定长度的数据,如整型类型的数据int(每个int变量占用四个字节)。由数据存储的位置可以得知,当把一个值变量赋给另一个值变量时,会在堆栈中保存两个完全相同的值;而把一个引用变量赋给另一个引用变量,则会在堆栈中保存对同一个堆位置的两个引用,即在堆栈中保存的是同一个堆的地址。在进行数据操作时,对于值类型,由于每个变量都有自己的值,因此对一个变量的操作不会影响到其它变量;对于引用类型的变量,对一个变量的数据进行操作就是对这个变量在堆中的数据进行操作,如果两个引用类型的变量引用同一个对象,实际含义就是它们在堆栈中保存的堆的地址相同,因此对一个变量的操作就会影响到引用同一个对象的另一个变量。2. 答:C#支持的数据类型有:(1) 值类型包括:简单类型、结构类型、枚举类型。其中,简单类型又分为:整型、布尔型、字符型、浮点型、小数型。(2) 引用类型包括:对象类型、类类型、接口、元数据、字符串类型、数组。3. 答: 1)12.34-1,234.00%good 2)0-good 3)456-00456good4. 答:面向对象的程序设计(Object-Oriented Programming,OOP)是一种基于结构分析的、以数据为中心的程序设计方法。其主要思想是将数据及处理这些数据的操作都封装(Encapsulation)到一个被称为类(Class)的数据结构中,使用这个类时,只需定义一个类的变量,这个变量被称为对象(Object)。类的成员有:成员常量,代表与类相关的常量值。字段,即类的变量。成员方法,执行类中的复杂计算和其他操作。事件,定义了由类产生的事件公告,用于说明发生了什么事情。属性:定义命名的属性以及与读写属性相关的行为。索引指示器,允许类的实例通过与数组相同的方法来索引。操作符,定义类的实例能够使用的操作符。构造函数,在类被实例化时首先执行,完成对类的实例的初始化。析构函数,在类被删除之前最后执行,用于对类的实例销毁。对象是一个类的变量,这个变量被称为对象(Object)。5. 答:由于C#中的类不支持多重继承,而客观世界出现多重继承的情况又比较多。为了避免传统的多重继承给程序带来的复杂性等问题,同时保证多重继承带给程序员的诸多好处,C# 提出了接口(interface)的概念,通过接口来实现多重继承的功能。接口用于定义一种程序的协定。实现接口的类或者结构要与接口的定义严格一致。有了这个协定,就可以抛开编程语言的限制(理论上)。接口可以包含方法、属性、事件和索引器。6. 代码如下:class A/定义一个类 public A() Console.WriteLine(A); class B/定义一个类 public B() Console.WriteLine(B); class C:A B b=new B();class Dpublic static void Main() C c=new C(); /执行结果就为A” ”B. 7. 代码如下:using System;class MyClass public int i; private int j; protected int k; public void method1() Console.WriteLine(public method.); private void method2() Console.WriteLine(private method.); protected void method3() Console.WriteLine(protected method.); class mymain : MyClass public static void Main() MyClass t = new MyClass(); Console.WriteLine(i=0, t.i); Console.WriteLine(j=0, t.j); /会出现编译错误,私有成员不允许在其它类中访问 Console.WriteLine(k=0, t.k); /会出现编译错误,应该创建MyMain的对象,然后通过MyMain的对象访问 t.method1(); t.method2(); /会出现编译错误,私有的方法不允许在其它类中调用 t.method3(); /会出现编译错误,应该创建MyMain的对象,然后通过MyMain的对象调用该方法 8. 代码如下:using System;class Test6public static void Main() string str = ; while (str.Length -1) Console.WriteLine(第一个出现字母a的位置是:0, i); else Console.WriteLine(字符串中不包含字母a。); /(3) string str1 = str.Insert(3, hello); /在第3个(初始序号为)字符前插入hello Console.WriteLine(插入hello后的结果为:0, str1); /(4) string str2 = str1.Replace(hello, me); Console.WriteLine(将hello替换为me后的结果为:0, str2); /(5) string arr = str2.Split(m); Console.WriteLine(以m为分隔符分离后的字符串有:); for (int j = 0; j arr.Length; j+) Console.WriteLine(arrj); 第4章 习题参考答案1.答:(1)用户通过客户端浏览器请求页面,页面第一次运行。如果程序员通过编程让它执行初步处理,如对页面进行初始化操作等,可以在Page_load事件中进行处理。(2)Web服务器在其硬盘中定位所请求的页面。(3)如果Web页面的扩展名为 .aspx,就把这个文件交给aspnet-isapi.dll 进行处理。如果以前没有执行过这个程序,那么就由CLR编译并执行,得到纯HTML结果;如果已经执行过这个程序,那么就直接执行编译好的程序并得到纯HTML结果。(4)把HTML流返回给浏览器,浏览器解释执行HTML代码,显示Web页面的内容。(5)当用户键入信息、从可选项中进行选择,或单击按钮,页面可能会再次被发送到Web服务器,在ASP.NET中被称为“回发”。更确切地说,页面发送回其自身。例如,如果用户正在访问default.aspx页面,则单击该页面上的某个按钮可以将该页面发送回服务器,发送的目标还是default.aspx。(6)在Web服务器上,该页面再次运行,并执行后台代码指定的操作。(7)服务器将执行操作后的页面以HTML标记的形式发送到客户端浏览器。2. 答:(1) 页请求:(2) 开始(3) 页初始化(4) 加载(5) 验证(6) 回发事件处理(7) 呈现(8) 卸载(9)3. 答:有两种即单文件页模型和代码隐藏页模型。在单文件页模型中,页的标记及其编程代码位于同一个后缀为 .aspx 的文件中。代码隐藏页模型与单文件页模型不同的是,代码隐藏页模型将事物处理代码都存放在单独的cs文件中,当ASP.NET网页运行的时候,ASP.NET类生成时会先处理cs文件中的代码,再处理.aspx页面中的代码。4. 答:视图状态:用于保存本窗体页的状态。控件状态:用于存储控件状态数据。隐藏域:呈现为 元素,用于存储一个值。应用程序状态:用于保存整个应用程序的状态,状态存储在服务器端。会话状态:用于保存单一用户的状态,状态存储在服务器端。Cookie状态:用于保存单一用户的状态,状态存储在浏览器端。第5章 习题参考答案1. 答:只要是浏览器关闭,Session就会失效!2. 答:利用response.write方法和label都可以输出信息,但是label相对比较容易控制输入的位置和格式。建议用label。3. 答:Application对象是网站的应用程序可以共享的,而网站程序可能同时会有多个用户访问,那么可能出现多个用户同时访问某个保存在Application对象中的变量的问题。当多个用户同时需要修改Application中某个变量时,还有可能产生数据不一致的问题。为了避免这种情况的发生,Application对象提供了两个方法:Lock和UnLock。当需要修改某个Application对象中保存的变量值时,先用Lock方法将Application对象锁住,禁止其它用户修改Application对象中的变量值,然后再对变量值进行修改。修改结束后,再用UnLock方法把锁打开。这样就避免了访问冲突的问题。Lock和UnLock方法必须成对使用。如果只用了Lock方法而不用Unlock,则获得资源的用户永远占有Application,不释放,导致其它用户无法得到Application。没有Lock方法使用Unlock也是无意义的。4. 答:Application是保存在服务器内存中的数据,可以让所有用户来共享,如用来制作简单的记数器或聊天室等。Session是保存特定用户的数据,对该用户起作用,一旦该用户退出或关机,则数据自然就消失了,主要用于来判断用户是否登录等。Cookie是保存在用户硬盘中的数据,一般用来保存登录的用户名与口令等,这样用户以后登录中可以省去输入的麻烦。5. 用Server对象的htmlencode方法,将字符串变换后再输出。第6章 习题参考答案1. 答:HTML表单是静态网页中定义的表单,只在浏览器端运行,用于向服务器提交用户的请求。WEB表单是ASP.NET中的表单,是在服务器上运行的。WEB表单也是用标记定义的。WEB表单标记中有一个重要的属性:Runat=”Server”。正是这个属性使WEB表单与HTML表单有了本质的不同。2. HTML服务器控件和WEB服务器控件都是从普通HTML发展过来的,只要给普通HTML代码添加id和runat=server属性就变成了HTML服务器控件,WEB服务器控件是.net提供的一套全新的控件,它的设计合理使用更简便,但是目前还没有和HTML完全一一对应。推荐使用WEB服务器控件。3. 在不需要和服务器端交互的程序中应该尽量使用普通html代码,这样会减轻服务器负担,在需要交互时尽量使用web服务器控件,实在没有可用的web服务器控件再考虑html服务器控件。4. 答:若要使多个RadioButton控件具有互斥作用,只需要将这些RadioButton控件的GroupName设置到同一个标识符即可。利用这个特性,可以将分散在页面各个位置的RadioButton控件成组,产生互斥。第7章 习题参考答案参考程序第8章 习题参考答案1. 答:UpdateCommand2. 答:DataAdapter3. 答:应用程序使用Connection对象连接数据库。可以使用Command对象直接在连接的环境中访问数据库中的数据。Command对象使用SQL语句或者存储过程来检索数据。命令通过连接进行传输,以流的形式返回结果集,流可以被DataReader读取或被写入DataSet对象。4. 答:一个是只能向前的只读游标,一个是内存中的表。DataSet在断开连接的缓存中存储数据。DataSet的结构与关系数据库的结构相似;它公开由表、行和列组成的分层对象模型。DataAdapter对象作为DataSet和数据源之间检索或保存数据的桥梁。DataAdapter类表示一组数据库命令和可用作填充DataSet和更新数据源的数据库连接。5. 答:Connection数据库连接对象 Command数据库命令DataReader数据读取器DataSet数据集6. 答:Sql 数据提供者:专门用于访问 SQL Server数据库。 OleDb 数据提供者:用于访问 OLE DB 数据提供支持的数据库。7. 答: (1)ADO.NET不依赖于OLEDB提供程序,而是使用.NET托管提供的程序; (2)不使用COM; (3)不再支持动态游标和服务器端游标; (4)以断开connection而保留当前数据集可用; (5)强类型转换; (6)XML支持 ;8. 答:insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行;ExecuteNonQuery()方法返回执行Sql语句所影响的行数。ExecuteReader()方法返回一个DataReder对象;第9章 习题参考答案1. 可以使用SqlDataSource控件和LinqDataSource控件2. 答:Repeater控件不具备内置的布局或样式能力,用户必须通过创建模板为Repeater控件提供布局。由于 Repeater 控件没有默认的外观,因此可以使用该控件创建许多种列表,包括:表格布局、逗号分隔的列表(例如,a、b、c、d 等)和XML 格式的列表。DataList控件默认情况下以表格的形式显示数据,DataList控件的优点是用户可以为数据创建任意格式的布局。显示数据的格式在创建的模板中定义。可以为项、交替项、选定项和编辑项创建模板。表头、脚注和分隔符模板也用于自定义DataList的整体外观。通过在模板中添加Button和LinkButton等控件,可将列表项连接到代码,这些代码使用户得以在显示、选择和编辑模式之间进行切换。 DataList控件在很多方面超过了Repeater,主要在图形布局领域。DataList支持直接生成,意味着项目可以以垂直或水平的方式显示,以匹配指定的列数。此外,它提供了用于检索与当前数据行关联的键值的设置,并且内在支持选择和原地编辑。此外,DataList控件支持更多的模板。3. 答:ListView是全世界最好的控件,结合了GridView丰富的功能集和对Repeater提供的标记的控制。ListView使得可以以不同的格式显示数据,包括网格(像GridView那样的行和列)、项目列表(类似于本章前面建立Repeater的方式)、流格式(其中所有项一个接一个地放在HTML中,您可编写一些CSS对其进行格式化)。ListView结合了GridView丰富的功能集和对Repeater提供的标记的控制。ListView使得可以以不同的格式显示数据,包括网格(像GridView那样的行和列)、项目列表(类似于本章前面建立Repeater的方式)、流格式(其中所有项一个接一个地放在HTML中,您可编写一些CSS对其进行格式化)4. 答:传统的数据绑定是一种“连接数据绑定”,即在数据绑定期间,客户端一直保持与数据库的连接,这种状态下,数据库的性能大受影响。的数据绑定是一种“非连接数据绑定”,即只在读取和更新数据的瞬间,才与数据库连接并交换数据,之后便可释放与数据库的连接,数据库的性能因此将大大提高。5. 答:后台的Rowdatabound事件可以进行绑定,比如 if(数据行) DropDownList ddl = (DropDownList)e.row.FindControl(DropDownListID); ddl.datasource = 数据源;(假定你已经设置了key和value绑定字段) ddl.databind(); 6. 答:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 19992-2025摇臂式木工圆锯机术语和精度
- 养老机构消防协议书
- 区域销售宣传协议书
- 供油居间协议书范本
- 养老院租房协议合同
- 公司用房出售协议书
- 再婚老人同居协议书
- 广西贵港市覃塘区财政局招聘易考易错模拟试题(共500题)试卷后附参考答案
- 广西南宁市兴宁区地方志办公室招聘易考易错模拟试题(共500题)试卷后附参考答案
- 柴油供应协议书范本
- 高中国画美术课件
- 2025江苏省租赁合同范本下载
- 群体人际关系与团队建设
- 厂房装修风格改造方案(3篇)
- 生涯规划教育创新-洞察及研究
- 关于厨房管理的论文
- 重金属有色冶金企业安全生产标准化评定标准
- 青马工程考试题库及答案
- 汽车悬架设计毕业答辩
- 宪法与涉外法治互动-洞察及研究
- 四川2025年四川省夹江县人民法院公开招考4名聘用制司法警察笔试历年典型考题解题思路附带答案详解
评论
0/150
提交评论