《Web程序设计》课后题答案_第1页
《Web程序设计》课后题答案_第2页
《Web程序设计》课后题答案_第3页
《Web程序设计》课后题答案_第4页
《Web程序设计》课后题答案_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 ASP.NET Web程序设计习题与练习答案 第1章 习题与练习 1.简答题 1)什么是MSDN,它包含哪些功能? 答案: MSDN(Microsoft Developer Network)是Microsoft公司面向软件开发者的一种信息服务。MSDN 实际上是一个以 Visual Studio 和 Windows 平台为核心整合的开发虚拟社区,包括技术文档、在线电子教程、网络虚拟实验室、微软产品下载(几乎全部的操作系统、服务器程序、应用程序和开发程序的正式版和测试版,还包括各种驱动程序开发包和软件开发包)、Blog、BBS、MSDN WebCast、与 CMP 合作的 MSDN 杂志等等一

2、系列服务。 2)Visual Studio内置服务器的作用是什么? 答案: Visual Studio 开发服务器是在 Windows 操作系统(包括 Home Edition 版本)上本地运行的 Web 服务器。与 IIS Express 一样,它是专门构建用于在本地计算机上运行 ASP.NET 的。它不会处理针对其他计算机的请求。此外,它也不会提供应用程序范围外的文件。Visual Studio 开发服务器是一种方法,可用于在向运行 IIS 的生产服务器发布网站或应用程序之前在本地进行测试。 3)Visual Studio 2012开发环境中主要包含哪些窗口? 答案: ? 工具栏。提供用于

3、格式化文本、查找文本等的命令。一些工具栏只有在“设计”视图下才可用。 ? “解决方案资源管理器”窗口。显示网站中的文件和文件夹。 ? “文档”窗口。显示在视图选项卡窗口中处理的文档。单击选项卡可以实现在文档间切换。 ? “属性”窗口。允许您更改页、HTML 元素、控件及其他对象的设置。 ? 视图选项卡。展示同一文档的不同视图。 “设计”视图是一种近似 WYSIWYG 的编辑界面。 “源”视图是页的 HTML 编辑器。 “拆分”视图可同时显示文档的“设计”视图和“源”视图。如果要在“设计”视图中打开网页,需在“工具”菜单上,单击“选项”,选择“HTML 设计器”节点,然后更改“起始页位置”选项。

4、 ? 工具箱。提供可以拖到页上的控件和 HTML 元素。 “工具箱”元素按常用功能分组。 ? 服务器资源管理器/数据库资源管理器。用于显示数据库连接。如果未显示“服务器资源管理器”,可以在“视图”菜单上单击“服务器资源管理器”或“数据库资源管理器”。 ? 4)编写ASP.NET应用程序的步骤是什么? ? 答案: ? (1)创建一个新的 ASP.NET Web 窗? (2)将页面添加到? (3)向页中添加静态? (4)添加控件 ? (5)对Button控件编程 5)请对不同调试方法进行分析比较。 答案: (1)使用调试器:启动默认浏览器并加载指定的起始页。在调试器中运行页可以逐 行扫描代码,并利

5、用其他分析工具和运行时信息来进行调试。如果 Visual Studio 发现关键文件已更改,它同样在启动包含指定起始页的浏览器之前生成项目。 (2)不用调试器:允许以在开发工具上下文以外的一般运行状况运行代码,这样这 些工具不会提供可用的运行时信息。如果 Visual Studio 发现关键文件已更改,将在启动包含指定起始页的浏览器之前生成项目。 (3)在浏览器中查看:编译项目并打开从“解决方案资源管理器”中选择的 Web 页。 项目被编译并在 Visual Studio 内的默认浏览器中运行。 2.操作题 请自定义你的集成开发环境,将所有文本的颜色改成红色。 答案: ? (1)在菜单栏中,选

6、择工具 选项。 ? (2)在 选项 列表中选择环境字体和颜色。 ? (3)在项前景列表中,选择“红色”,然后选择确定按钮。 3.程序设计题 创建一个指向目标文件夹“d:CompiledSite”的 IIS 虚拟目录。 答案: ? (1)打开“Internet Information Services (IIS)管理器”对话框。 ? (2)在“连接”窗格中,展开服务器名称,然后展开“站点”。 ? (3)右击“默认网站”,然后选择“添加虚拟目录”。此时将出现“添加虚拟目录”对话框。 ? (4)在“别名”框中,输入 CompiledWebSite。 ? (5)在“物理路径”框中,输入d:Compil

7、edSite。单击“确定”。 ? (6)在 IIS 管理器的“连接”窗格中,右击新的虚拟目录,然后选择“转换为应用程序”。此时将出现“添加应用程序”对话框。单击“确定”。 第2章习题与练习 1. 选择题。 (1)-(5)BCBCD (6)-(10)BACAD 2. 填空题。 (1) (2)超链接 ,加粗 (3) (4)Name,Method,Post,Action (5)与历史清单有关的信息 3. 程序题。 图书分类表 图书分类表 类别 书名 价格 计算机 web程序设计 41 C#开发 29 文学 奋斗 35 日期:2013-03-08 第3章习题与练习 一、判断题 1. (对 ) 2. (

8、对 ) 3. (错 ) 4. (错 ) 5. (错 ) 二、选择题 A D A D C A A D D C A B C C B C A D D D A B D B D B C A A 三、填空题(共6小题) 1、 (xhtml) 2、div是块元素,span是行内或内联元素 3、color:#666; 5、(xhtml或xml,css) 第4章习题与练习 一 选择题 CDABCD 二 填空题 (1) 、ContentPlaceHolder (2)App_Theme、服务器控件 (3)外观文件、.CSS文件、图像和其他资源 (4)页面指令级、应用程序级、文件夹级 (5)FindControl()

9、方法和MasterType指令 (6)SkinID 三 简答题 (1)答:母版页是指可以再同一站点的多个页面中共享使用的特殊网页。用户可以使用母版页建立一个通用的版面布局或者使用母版页在多个页面中显示一些公共的内容。引用母版页的Web窗体页面称为内容页。 (2)答:内容页与普通的Web窗体页面有所不同,主要体现在: 在指令中增加了Title=和MasterPageFile=/MasterPage.master两个指令。在内容页中不包含、等Web元素,因为这些元素都被放置在母版页中。在内容页中包含有若干个和标记,而且内容页的所有元素都要包含在Content控件中。 (3)答:同一类型控件的外观分

10、为默认外观和命名外观两种:默认外观:不设置控件的SkinID属性,它自动应用于同一类型的所有控件。在同一主题中针对同一类型的控件只能有一个默认外观。命名外观:如果同一类型控件有不同于默认外观的属性设置时,可以通过设置控件的SkinID属性来解决。 (4)答:设计主题。 在内容页中设置StyleSheetTheme属性为引用的主题。 例如主题名称为Theme1,则只需要在内容页中设置页面的StyleSheetTheme属性为“Theme1”,母版页和内容页的内容都会自动应用此主题。 四 答: TextBox textbox = (TextBox)Master.FindControl(TextBo

11、x1); if (textbox != null) textbox.Text = 123456; 第5章习题与练习 1.填空题 1) TreeView控件,SiteMapPath控件,Menu控件 2) .sitemap 3) 引用另外一个sitemap文件 4) 静态菜单的菜单显示级别数为2 5) _blank 6) DataSourceID 2操作题: 主要步骤: 新建一个名为Web.sitemap的XML站点地图文件,Web.sitemap页面中修改并添加代码: 然后再添加一个新的Web页面,使用默认名称“Default.aspx”,添加一个SiteMapDataSource控件,ID属

12、性使用默认的SiteMapDataSource1。在“Default.aspx”页面再添加一个TreeView控件,将DataSourceID属性值设为SiteMapDataSource1,即连接了数据源,“Default.aspx”。 第6章习题与练习 1. 选择题 1) A 2) B 3) C 4) B 5) B 6) A 7) C 8) C 9) B 10) D 11) B 12) B 13) C 14) A 15) B 2. 填空题 1) continue 2)System.Enum 3)整型、实型、字符型和布尔型 4) if switch 5) 5 6) 封装性、继承性和多态性 7)

13、 值类型、引用类型和指针类型 8) 80 3. 简答题 1) 一个ASP.NET的Web页面包含以下几个部分: 指令:供编译器处理的ASP.NET页面和用户控件时使用的命令。 HTML标签:作为外观设计的一部分,不能在代码中被访问。 服务器控件:允许用户与页面交互的控件,在服务器上被处理,允许引发服务器端事件。 代码声明块:定义当呈现页时执行的内联代码或内联表达式,放在标记中。 代码呈现块:把用C#语言编写的代码放在标签中。 页面事件:页面触发时的事件。 控件事件:在客户端被用户触发的事件。 2) Page指令的常用属性 3) public:对任何类和成员都公开,无限制访问; protecte

14、d:仅仅对该类以及该类的派生类公开; private:仅仅对该类公开; internal:只能值包含该类的程序集中访问该类(只是单独的项目,而不是整个解决方案); protected internal:只能在本类、派生类或者包含该类的程序集中访问。 4) 值类型直接存储它的数据内容,包括简单数据类型、结构类型和枚举类型;引用类型不存储实际数据内容,而是存储对实际数据的引用,包括类、字符串、数组、委托和接口等。 值类型的值是存放在堆栈中的,改变其值,不改变变量原有的值,而引用类型的值是存放在栈中的,其引用的地址是存放在堆栈中的,改变其值也就改变了变量原有的值。值类型不允许包含null值,然而可空

15、类型可以将null赋值给值类型。 5) 装箱转换是指将一个值类型隐式或显式地转换成一个对象类型,或者把这个值类型转换成一个被该值类型应用的接口类型(interface-type)。把一个值类型的值装箱,就是创建一个对象实例并将这个值复制给这个对象,装箱后的对象中的数据位于堆中,堆中的地址在栈中。被装箱的类型的值是作为一个拷贝赋给对象的。 拆箱转换是指将一个对象类型显式地转换成一个值类型,或是将一个接口类型显式地转换成一个执行该接口的值类型。注意装箱操作可以隐式进行但拆箱操作必须是显式的。拆箱过程分成两步:首先,检查这个对象实例,看它是否为给定的值类型的装箱值。然后,把这个实例的值复制给值类型的

16、变量。 4. 程序阅读题 1) 比较两个整数a和b的大小,若ab则返回1,若a= =b则返回0,若ab则返回-1。 2) 采用选择排序的方法对数组a中的n个整数按照从小到大的次序排列。 3) 求出从键盘上输入的一批常数的平均值,以-1作为结束输入的标志。 4) 显示输出数组a中大于等于平均值的所有元素值。 5) 9 12 15属AutoEventWireUp指示页的事件是否自动绑定。如果启用了事件自动绑定,则tru;否则fals。默认值trueBuffer确定是否启用HTT响应缓冲。如果启用了页缓冲,则tru;否则fals。默认值trueCodeFile指定指向页引用的代码隐藏文件的路Debu

17、g指示是否应使用调试符号编译该页。如果应使用调试符号编译该页,则tru;否则fals。由此设置影响性能,因此只应在开发期间将此属性设置trueEnableSessionState定义页的会话状态要求。如果启用了会话状态,则tru;如果可以读取会话状态但不能进行更改则ReadOnl;否则fals。默认值tru。这些值不区分大小EnableTheming指示是否在页上使用主题。如果使用主题,则tru;否则fals。默认值trueEnableViewState指示是否在页请求之间保持视图状态。如果要保持视图状态,则tru;否则fals。默认值trueInherits定义供页继承的代码隐藏类。它Cod

18、eFile属性(包含指向代码隐藏类的源文件的路径)一起使Language指定在对页中的所有内联呈现= y ? x : y; temp = temp = z ? temp : z; Console.WriteLine(最大数为:0, temp); 2) using System; class Test static void Main() char ch; Console.WriteLine(请输入一个字符); ch = char.Parse(Console.ReadLine(); if (ch = A & ch = a & ch = 0 & ch = 9) Console.WriteLine(

19、数字); else Console.WriteLine(其他字母); 3) using System; class Test static void Main() int i = 2, j; bool b; Console.WriteLine(2到100中的素数为:); while (i = 100) b = true; j = 2; while (j = i - 1) if (i % j = 0) b = false; break; j+; if (b = true) Console.Write(0 , i); i+; Console.WriteLine(); 4) using System

20、; class Test public static void Main() int score; Console.WriteLine(请输入学生成绩); score = int.Parse(Console.ReadLine(); score = score / 10; switch (score) case 10: Console.WriteLine(成绩优秀); break; case 9: Console.WriteLine(成绩优秀); break; case 8: Console.WriteLine(成绩良好); break; case 7: Console.WriteLine(成绩

21、及格); break; case 6: Console.WriteLine(成绩及格); break; default: Console.WriteLine(成绩不及格); break; 5) using System; class Test public static void Main() const string UserName = admin; const string PassWord = 123456; string username, password; int i=1; while(i=3) Console.WriteLine(请输入用户名); username = Cons

22、ole.ReadLine(); Console.WriteLine(请输入密码); password = Console.ReadLine(); if (username = UserName & password = PassWord) break; else Console.WriteLine(你输入的用户名或者密码错误,请重新输入用户名和密码); i+; if (i = 3) Console.WriteLine(正在登录系统); else Console.WriteLine(不能登录系统); 6) using System; class Test public static void M

23、ain() int i, j, temp; const int n = 10; int SortArray = new intn; for (i = 0; i n; i+) Console.Write(n请输入一个数:); SortArrayi = int.Parse(Console.ReadLine(); Console.Write(n等待排序的数据序列为:); for (i = 0; i = 0; i-) for (j = 0; j SortArrayj + 1) temp = SortArrayj; SortArrayj = SortArrayj + 1; SortArrayj + 1

24、= temp; Console.Write(n已经排序后的数据序列为:); for (i = 0; i n; i+) Console.Write(0 , SortArrayi); Console.WriteLine(); 7) using System; struct student public int no; public string name; public string sex; public double score; class Test static void Main(string args) student stu; stu.no = 10003; = 小

25、小; stu.sex = 女; stu.score = 89.5; Console.WriteLine(学生的学号是0,名字叫1,性别是2,程序设计的成绩是3, stu.no, , stu.sex, stu.score); 8) using System; class ClassName public void find(out int max, out int min, params int array) int n = array.Length, i = 1; max = array0; min = array0; while (i max) max = arrayi; e

26、lse if (arrayi min) min = arrayi; i+; class Test static void Main(string args) int max, min; int a = new int10 97, 65, 32, 17, 58, 43, 79, 81, 23, 10 ; ClassName s = new ClassName(); s.find(out max, out min, a); Console.WriteLine(最大数为: + max); Console.WriteLine(最小数为: + min); 第7章习题与练习 1. 选择题 1) B 2)

27、B 3) A 4) D 5) A 2. 填空题 1) None身份验证、Windows验证、Forms身份验证(Cookie身份验证)、Passport身份验证 2) 拒绝所有用户访问 3) Data Source、Database、Uid、Pwd 4) 基本验证方式、简要验证方式、窗口验证方式 5) 基于ACL及资源权限的授权方式、URL授权 6)Session_OnStart、Session_OnEnd 3. 简答题 1) 对于一个Web应用程序来说,很重要的一点就是能够辨别访问者的角色和对资源访问的限制。为了做到这一点,就要对其身份进行验证。在解决谁能进入系统的问题中,通常会维护一张允许

28、进入系统的用户的名单,当用户要求进入的时候,判断他是否是合法用户。这样一来,问题就转化为如何有效地判别一个用户是否是系统的有效用户,称之为“身份验证”过程。一个常见的验证过程是,当进入某些系统时,被要求输入用户和口令。当用户进入以后,只允许他访问事先指定给他的资源,这一过程称为“授权”。只有通过授权检查后,用户才能够对相应资源进行操作。在ASP.NET环境中,ASP.NET和IIS结合在一起为用户提供身份验证和授权服务。 2) 3) Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式

29、),它可以出现在应用程序的每一个目录中。当通过.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的 Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。 主要配置参数:自定义错误页、配置Session变量、全球化设置、配置Access数据库连接和配置SQL server数据库连接。 4) Global.asax文件是一个特殊文件,它包含应用程序的某些服务信息,例如应用程序是如何开始的、应用程序是如何结束的。但是Global.asax文件是ASP.NET应用程序的可选文件,如果应用程序包含此文件,则应用程序就从此文件开始运行,同时该文件还包含响应AS

30、P.NET或HTTP模块引发的应用程序级别事件的代码。 Global.asax文件不能包含任何形式的输出语句,只能包含以下内容: ? 应用程序事件过程Application_OnStart和Application_OnEnd的脚本; ? 会话事件过程Session_OnStart和Session_OnEnd的脚本; ? 请求事件过程Application_OnBeginRequest和Application_OnEndRequest的脚本; ? 使用标记声明的应用程序作用域对象或会话作用域对象。 5) Application对象支持OnStart、OnEnd、OnBeginRequest和On

31、EndRequest四个事件。这四个事件的程序代码放在网站根目录下特定的Global.asax文件中。 Application_OnStart事件:在应用程序运行过程中第一次有页面被访问前触发,即在一个虚拟目录中第一个ASP.NET程序执行时触发。并且Application_OnStart事件在整个应用程序运行期间只被触发一次。 Application_OnEnd事件:在应用程序退出时或者服务被终止时触发,即ASP.NET应用程序停止时被触发。并且Application_OnEnd事件在整个应用程序运行期间只被触发一次。 Application_OnBeginRequest事件:在每一个ASP

32、.NET应用程序被请求时就发生,即客户每访问一个ASP.NET程序时,就触发一次该事件。 Application_OnEndRequest事件:在ASP.NET应用程序结束时发生,即每一个ASP.NET程序结束时,触发该事件。 6) ASP.NET提供了四种错误处理机制,它们有一定的优先级顺序:Page_Error事件、ErrorPage属性、Application_Error事件和配置项,优先级依次降低。 第8章习题与练习 1. 选择题 BADCB BC 2. 填空题 (1)MapPath (2)DateTime.Now.AddDays(1); (3)Cookie (4) Request.Q

33、ueryString“id.ToString(); (5)IsPostBack (6) Response.Write(“alert(登录成功); window.location.href=index.aspx”); 3. 简答题 (1) 答:Page对象的Init事件和Load事件均在页面加载过程中发生;在Page对象的生命周期中,Init事件只在页面初始化时触发一次;Load事件在初次加载及每次回发中都会触发;若希望事件代码只在页面首次加载时被执行,可以将其放入Init事件,或放入Load事件并利用Page.IsPostBack属性判断是否为首次加载。 (2) 答:二者都可以实现从当前页面跳

34、转到另一页面的功能。Execute在新页面中的程序执行完毕后自动返回到原页面,继续执行后续代码。而Transfer方法在执行了跳转后不再返回原页面,后续语句不会被执行。但跳转过程中Request、Session等对象中保存的信息不变,也就是说从A页面使用Transfer方法跳转到B页面后,可以继续使用A页面中提交的数据。 (3) 答:三个对象都是ASP.NET中与状态管理相关的对象。其中,Application对象和Session对象都可在服务器端保存数据或对象,使用方法和常用属性、事件、方法也基本相同。但Application对象中保存的信息是为所有来访的客户端浏览器共享的,而Session

35、对象保存的数据则是仅为特定的来访者使用的。Cookie对象同Session对象一样,页是保存特有用户的信息的对象,并且也能够实现数据的跨页使用;不同的是Cookie对象将信息保存在客户端,不是很安全,而且数据量有限;Session对象将信息保存在服务器端,对数据量没有限制。 (4) 答:使用Response对象Redirect方法URL中的查询字符串,使用Request对象的Querystring属性读取;使用Request对象的Form属性读取表单数据;使用Session对象;使用Cookie对象;使用Application对象;使用Server对象的Transfer方法。 4. 程序题 (

36、1)在新建立的网站中添加三个页面分别为:Response.aspx、Server.aspx、Welcome.aspx。其中,Response.aspx.cs页面的代码为: protected void Page_Load(object sender, EventArgs e) this.Title = Response对象登录页面; protected void Button1_Click(object sender, EventArgs e) Response.Redirect(welcome.aspx); Server.aspx.cs页面的代码为: protected void Page_

37、Load(object sender, EventArgs e) this.Title = Server对象登录页面; protected void Button1_Click(object sender, EventArgs e) Server.Transfer(welcome.aspx); Welcome.aspx.cs页面的代码为: protected void Page_Load(object sender, EventArgs e) Response.Write(欢迎来到我的网站。); 分别在Response.aspx和Server.aspx页面单击按钮,运行的结果为: 从上图中可以

38、看出,Response对象的Redirect方法和Server对象的Transfer方法都可以实现页面的跳转,但是使用Response对象的Redirect方法跳转后,地址栏中的地址为新页面的地址,而使用Server对象的Transfer方法跳转后,地址栏中的地址仍未原来页面的地址。 (2) protected void Page_Load(object sender, EventArgs e) Response.Write(姓名:); Response.Write(); Response.Write(); (3)protected void Page_Load(object sender,

39、EventArgs e) Response.Write(网站访问人数计数器); Response.Write(); if (Applicationcounter = null) Applicationcounter = 1; else Application.Lock(); Application.Set(counter, (int)Applicationcounter+1); Application.UnLock(); int num=(int)Applicationcounter; Response.Write(欢迎您,您是本站第 + num + 位访客!); (4)在全局文件中的Appl

40、ication_Start事件中添加代码: Applicationcount1 = 0; Applicationcount2 = 0; Applicationcount3 = 0; Vote.aspx.cs中的代码: protected void Button1_Click(object sender, EventArgs e) if (Request.Cookiesvote != null) Response.Write(alert(您已经投过票了);); else Response.Cookiesvote.Value = yes; Response.Cookiesvote.Expires = DateTime.Now.AddDays(1); Response.Write(alert(投票成功,感谢您的参与);); Application.Lock(); Application.Set(count1, (int)Applicationcount1 + 1); Application.UnLock(); protected void LinkButton

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论