




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
攀枝花学院 Panzhihua University教 案2011 2012 学年度第 2 学期课 程 名 称 ASP.NET程序设计 学 时(学 分) 适 用 班 级 09软本、09网本、09计本 授 课 教 师 刘继光 教 师 职 务 副教授 教 学 单 位 计算机学院 教 务 处 制实验教案编写说明1、实验教案的编写要求参照攀枝花学院教案编写规范(攀院教200704号)执行。2、实验教案格式可按附后“实验教案”格式采用手写或打印。3、实验教案的基本内容可包括:教学目的与要求、教学重点与难点、仪器设备及用具、教学过程(含实验预习检查实验原理及方法仪器设备介绍实验内容及注意事项实验指导要点检查实验结果)、实验预做记录(含原始实验数据记录数据处理及结果分析)、实验预习要求、实验报告要求、参考书目、后记等相关内容。4、实验教案编写应在坚持教案编写基本要求的基础上,充分考虑教师自身条件和学科的差异,针对教师、学科、学生以及教学情景的不同,编写出形式多样,能体现教学风格、具有特色的教案,促进教案的创新。5、教案编写水平的高低,很大程度上取决于教师钻研教材与实验方法,研究学生实际状况和设计教学方法的水平,取决于教师对本学科知识掌握的深度和广度以及教师教育思想的端正更新。因此,教师应努力提高自身素质,提高教师教案编写水平。实验教案实验课程名称ASP.NET程序设计实验学时14独立设课 非独立设课实验课类别1.基础 2.专业基础 3.专业 4.其它任课教师刘继光职称授课对象年级:09 专业:信息 班级:09网络、计本、阮本本科专科教材和主要参考资料教材:ASP.NET 2.0(C#)基础教程 ,2008.1主要参考书:WEB编程丛书-HTML编程指南,电子工业出版社,1999教学目的和教学要求ASP.NET程序设计是软件工程专业的方向课,是一门实践性较强的应用型课程。上机实验使学生巩固和运用所学知识解决具体问题,以达到理论联系实际的目的。同时提高程序设计和上机操作的实际能力。通过实验增强学生就业竞争能力,为学生后续发展打下坚实的基础。教学重点和教学难点重点:Web基本工作机制,Web页制作技术和制作工具的使用,Web编程技术的运用与掌握。难点:Web编程技术的运用与掌握教学进程安排课次实验项目(实验内容)学时备 注1ASP.NET环境配置22ASP.NET服务端控件使用23跟踪、调试及异常处理24状态管理25数据校验控件使用26数据库基本操作27学生成绩管理系统2课题(项目)名称: ASP.NET环境准备测试计划学时: 2 实验类型: 1.演示性 2.验证性 3.综合性 4.设计性 5.其它授课日期: 年 月 日 第 周 星期 第 节实验一 ASP.NET环境准备、测试一、目的与任务通过实验,使学生对ASP.NET的运行环境有清晰的认识,能够独立准备ASP.NET的运行环境,为进一步学习奠定一定的基础。实验内容及要求:一、 .NET Framework安装.NET Framework安装的两种方法如下: 到微软网站上下载.NET Framework安装包,单独对.NET Framework安装包进行安装。 安装Visual Studio 2005,系统会自动对.NET Framework进行安装二、 IIS的安装与配置 到微软网站上下载IIS安装包,或者到Google、Baidu等搜索门户搜索IIS安装包,并下载到本机保存,并安装,安装步骤略。 IIS虚拟目录配置:运行IIS出现如下画面:展开本地计算机、网站结点出现如下画面:选中默认网站,鼠标右键操作,出现如下画面:点击虚拟目录,出现如下画面点击下一步出现如下画面:输入虚拟路径别名(可以任意取名),点击下一步出现如下画面:可直接输入路径(路径必须存在),或点击浏览按钮出现如下画面:选择相应目录,按确定出现如下画面分配权限后,按下一步,并在出现的画面中按完成按钮。选中刚才建立的虚拟路径,鼠标右键,点击属性,出现如下画面:将执行权限中的“无”,改为“纯脚本”或“脚本或可执行文件”后,确定即可。IIS测试:将如下内容保存为test.htm,并将该文件放到虚拟目录对应路径下打开浏览器,输入如下URL:http:/localhost/xxx/test.htm或http:/IP地址/xxx/test.htm如果出现如下画面,则IIS配置成功。三、 ASP.NET环境简单测试将如下代码输入,保存为test.aspx,并将该文件放到虚拟目录对应路径下打开浏览器,输入如下URL:http:/localhost/xxx/test.aspx或http:/IP地址/xxx/test.aspx如果出现如下画面,则ASP.NET安装成功。四、 使用VS2005完成第3步的程序五、 思考与练习1. 如何测试IIS配置是否正确?2. 如何测试ASP.NET组件是否安装?实验报告要求:1. 实验目的2. 实验内容及步骤3. 实验习题的源程序清单4. 写出在实验过程中遇到的问题及解决方法5. 要求字迹端正、条理清晰、概念正确课题(项目)名称: 数据绑定 计划学时:2 实验类型: 1.演示性 2.验证性 3.综合性 4.设计性 5.其它授课日期: 年 月 日 第 周 星期 第 节实验二:数据绑定实验目的:通过实验,使学生对ASP.NET的数据提供程序的使用有初步的认识,初步具备操作数据库和绑定数据到GridView的能力,为将来的进一步学习和应用奠定一定的基础。实验内容及要求:一:数据库Student中有三张表,表结构如下。要求将学生的考试成绩数据数据绑定到GridView控件,数据列包括学号、姓名、课程名称以及考试成绩等信息(基础数据自己准备)。二:将第一步实验中的数据保存为XML文件,并将XML文件绑定到另一GridView中。三:代码表ENCODE包含(ID、CODENAME、CODE、DESCR)几个字段,请读取该表中的数据将数据绑定到DropDownList、LisBox、RadioButtonList、CheckBoxList等控件,并将用户选择的代码名称和数据显示出来。 遍历所有项并输出,输出选中项,选择项变化时输出对应代码数据。一、 思考与练习1. C#中,代码区分大小写吗?2. 查看请求返回页面代码,并将其与代码比较,看看有什么区别?实验报告要求:1. 实验目的2. 实验内容及步骤3. 实验习题的源程序清单课题(项目)名称: 跟踪、调试及异常处理计划学时: 实验类型: 1.演示性 2.验证性 3.综合性 4.设计性 5.其它授课日期: 年 月 日 第 周 星期 第 节实验三:跟踪、调试及异常处理实验目的:通过实验,掌握VS2005基本调试技术、错误处理的基本方法,掌握try/catch/finally的使用方法,为进一步学习奠定一定的基础。实验内容及要求:使用书本示例Debugging掌握如下跟踪调试技术一、 页面级跟踪设置方法二、 应用程序级跟踪设置方法三、 将信息插入跟踪日志,注意Trace.Warn与Trace.Write的区别四、 调试技术的使用(断点设置、断点属性设置、单步调试技术的使用)五、 不使用try/catch新建网站,向网站内添加Button按钮,并添加如下代码。单步执行这些语句,观察代码的执行流程。 protected void Button1_Click(object sender, EventArgs e) int a = 0, b = 10; int c = b / a; Response.Write(异常发生后代码);/该语句会被执行吗?为什么?运行网站,点击按钮,观察出现的页面六、 使用try/catch新建网站,向网站内添加Button按钮,并添加如下代码。 单步执行这些语句,观察代码的执行流程。 protected void Button1_Click(object sender, EventArgs e) try int a = 0, b = 10; int c = b / a; Response.Write(异常发生后代码);/该语句会被执行吗?为什么? catch (Exception ex) Response.Write(ex); Response.Write(异常捕获后代码);/该语句会被执行吗?为什么?运行网站,点击按钮,观察出现的页面。七、 不使用try/finally。新建网站,向网站内添加Button按钮,并添加如下代码。单步执行下面语句,观察代码的执行流程。 protected void Button1_Click(object sender, EventArgs e) System.IO.FileStream file = null; System.IO.FileInfo fileinfo = new System.IO.FileInfo(C:file.txt); file = fileinfo.OpenWrite(); file.WriteByte(0x30); int a = 0, b = 10; int c = b / a; /当单步执行该语句执行后,试着打开C盘上的file.txt,观看出现的现象 if (file != null) file.Close(); 八、 使用try/finally。新建网站,向网站内添加Button按钮,并添加如下代码。单步执行下面语句,观察代码的执行流程。 protected void Button1_Click(object sender, EventArgs e) System.IO.FileStream file = null; System.IO.FileInfo fileinfo = new System.IO.FileInfo(C:file.txt); try file = fileinfo.OpenWrite(); file.WriteByte(0x30); int a = 0, b = 10; int c = b / a; finally if (file != null) file.Close(); 九、 return对try/finally的影响。新建网站,向网站内添加Button按钮,并添加如下代码。单步执行下面语句,观察代码的执行流程。 protected int Return_Test() try return 0; finally return 10; protected void Button1_Click(object sender, EventArgs e)Return_Test();十、 try/catch/finally protected void Button1_Click(object sender, EventArgs e) TestFinally(); protected void TestFinally() System.IO.FileStream file = null; System.IO.FileInfo fileInfo = new System.IO.FileInfo(C:file.txt); try file = fileInfo.OpenWrite(); file.WriteByte(0xF); finally / Closing the file allows you to reopen it immediately - otherwise IOException is thrown. if (file != null) file.Close(); try file = fileInfo.OpenWrite(); System.Console.WriteLine(OpenWrite() succeeded); catch (System.IO.IOException) System.Console.WriteLine(OpenWrite() failed); 单步执行上面代码,然后将finally块中的下面语句注释掉,再次单步执行程序,观察出现的现象。 if (file != null) file.Close(); 十一、 引发异常。新建网站,向网站内Button按钮,并添加如下代码。单步执行(F11与F10的区别)下面语句,观察代码的执行流程。 private void TestThrow() System.ApplicationException ex = new System.ApplicationException(Demonstration exception in TestThrow(); throw ex; protected void TestCatch() try TestThrow(); catch (System.ApplicationException ex) Response.Write(ex); protected void Button1_Click(object sender, EventArgs e) TestCatch(); 将TestCatch的try/catch语句块去掉,观察异常的传播过程。十二、 引发自定义异常。新建网站,向网站内Button按钮,添加如下代码。 protected void Button1_Click(object sender, EventArgs e) int mul_value; try mul_value = SecondGrade.mul(99, 56); Response.Write(99与56积为: + mul_value.ToString(); mul_value = SecondGrade.mul(101, 4); Response.Write(出现异常,这行是不会被执行的。); catch (IAmSecondGrade)/捕获自定义的异常 Response.Write(我才上二年级,超过100的乘法我不会。嘿嘿,我自定义的异常。); catch (System.Exception ex) Response.Write(非自定义异常。其值为: + ex.ToString(); 新建异常类,并抛出该异常:class IAmSecondGrade : System.Exception /自定义异常类class SecondGrade public static int mul(int first, int second) if (first 100 | second 100) throw new IAmSecondGrade();/引发异常 return (first * second); 思考题:1、 C#中,异常是如何被传播的?认真领会结构化异常的优点。2、 引发异常后的程序语句能否被执行?try/catch语句之后的语句能否被执行?3、 try/catch与try/finally语句有什么区别?4、 如何引发异常,如何自定义异常并引发该异常?5、 try/catch/finally语句有何作用?6、 将11中的static去掉,运行程序,看看能否运行7、 如何捕获特定异常?实验报告要求:1. 实验目的2. 实验内容及步骤3. 实验习题的源程序清单4. 写出在实验过程中遇到的问题及解决方法5. 要求字迹端正、条理清晰、概念正确课题(项目)名称: 状态管理计划学时:2 实验类型: 1.演示性 2.验证性 3.综合性 4.设计性 5.其它授课日期: 年 月 日 第 周 星期 第 节实验四实验名称:状态管理实验学时:2实验目的:Web 本质上是无状态的,对页面的每个请求都将被视为新请求,而且默认情况下,来自一个请求的信息对下一个请求均不可用。为了帮助克服此基于 Web 的应用程序的固有限制,ASP.NET 包含许多用于管理状态(即用于存储请求之间的信息)的功能,可以使用状态管理跟踪任何影响应用程序行为的信息或数据。通过实验,掌握ASP.NET的状态管理管理机制及其作用,熟练每种状态管理的优、缺点及其使用场合,最终达到灵活运用的目的。实验内容及要求ASP.NET2.0,提供了Cookie、 QueryStrings (URL)、Hidden fields、View State、Control state、应用程序状态、会话状态等技术来对状态进行管理。方法信息量大小作用域和保存时间应用范围保存位置Application任意大小整个应用程序的生命期整个应用程序/所有用户服务器端Cache任意大小可以根据需要设定整个应用程序/所有用户服务器端Session小量,简单的数据用户活动时间+一段延迟时间(一般为20分钟)单个用户服务器端Cookie小量,简单的数据可以根据需要设定单个用户客户端Viewstate小量,简单的数据一个Web页面的生命期单个用户客户端隐藏域小量,简单的数据一个Web页面的生命期单个用户客户端查询字符串小量,简单的数据直到下次页面跳转请求单个用户客户端一、 Cookie(客户端)Cookie是以文本存储于计算机中,使用name-value匹配。一般用户存储标识用户信息,如:用户名,用户使用配置等。虽然Cookie可以被加密存储,但不推荐在Cookie中保存用户密码,Cookie的大小是限定的,所以不适合存储大型数据。1、设置用户ID Response.CookiesUserId.Value = username; 2、获取用户ID if (Request.CookiesUserId != null) lbMessage.text = Request.CookiesUserId.ToString();二、 Hidden fields(客户端)Hidden field是在页面级保存信息。与其他用户标准控件的区别是,Hidden Field不被呈现在页面中。当页面提交的时候,Hidden Field中的值将被一同发送给服务端。虽有在ASP.NET 2.0中,我们可以使用ViewState来代替,但Hidden Fields依然可以用来存放一些不关键信息。protected System.Web.UI.HtmlControls.HtmlInputHidden Hidden1; Hidden1.Value=Create hidden fields; string str=Hidden1.Value; 三、 View State(客户端)状态视图ViewSate,可以用来为单独用户存储信息。你可以通过设置EnableViewState属性来控制ViewState的使用,在默认的情况下属性值为True.ViewSate在每次用户请求或服务端响应时,都会被传输。所以,为了减少网络带宽的使用,可以在不需要状态视图时设置EnableViewState属性值为False。ViewSate在页面中的存储是经过Base64转码的,增加了额外的数据量,所以一定要注意保存较少的ViewState./ Add item to ViewState ViewStatemyviewstate = myValue; /Reading items from ViewState Response.Write(ViewStatemyviewstate); 四、 Query strings(客户端)使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在浏览器的地址栏上的(不安全),同时又不能传递对象,但是在传递的值少而安全性要求不高的情况下,这个方法还是一个不错的方案。使用这种方法的步骤如下: 1、使用控件创建web表单(form) 2、创建可以返回表单的按钮和链接按钮 3、在按钮或链接按钮的单击事件里创建一个保存URL的字符变量 4、在保存的URL里添加QueryString参数 5、使用Response.Redirect重定向到上面保存的URL 下面的代码片断演示了如何实现这个方法: 源页面代码: private void Button1_Click(object sender, System.EventArgs e)string url =anotherwebform.aspx?name= + TextBox1.Text + &email= + TextBox2.Text;Response.Redirect(url);目标页面代码:private void Page_Load(object sender, System.EventArgs e)Label1.Text=Request.QueryStringname;Label2.Text=Request.QueryStringemail;五、 Application(服务端)Application状态存储的信息对整个应用程序都是可见的,状态变量可以被网站的所有页面访问,用于公共信息的存储。/test1.aspx Application state changed successfully -/test2.aspx Company Telephone = 六、 Session(服务端)使用Session变量是可以在页面间传递值的的另一种方式,在本例中我们把控件中的值存在Session变量中,然后在另一个页面中使用它,以不同页面间实现值传递的目的。但是,需要注意的是在Session变量存储过多的数据会消耗比较多的服务器资源,在使用session时应该慎重,当然了,我们也应该使用一些清理动作来去除一些不需要的session来降低资源的无谓消耗。使用Session变量传递值的一般步骤如下:1、 在原页面中,把相应的值添加到session变量里2、 使用Response.Redirect方法重定向到另一个页面3、 在另一个页面提取session的值,在确定不需要使用该session时,要显式清除它下面的代码片断演示了如何实现这个方法:源页面代码: void Page_Load() /textbox1 and textbox2 are webform controlsSessionname=TextBox1.Text;Sessionemail=TextBox2.Text;Server.Transfer(SessionTest.aspx); Drop Down List Example 目标页面代码(文件名:SessionTest.aspx): void Page_Load() Label1.Text=Sessionname.ToString();Label2.Text=Sessionemail.ToString();Session.Remove(name);Session.Remove(email); Drop Down List Example 七、 Cache对象Cache 对象用于在HTTP请求间保存页面或数据。该对象的使用可以极大地提高整个应用程序的效率。常用于将频繁访问的大量服务器资源存储在内存中,当用户发出相 同的请求后服务器不再次处理而是将Cache中保存的信息返回给用户,节省了服务器处理请求的时间。其生存期依赖于该应用程序的生存期。当重新启动应用程 序时,将重新创建其Cache对象的实例。使用Cache对象保存信息的代码如下。 /存放信息CachenameID=0001;/存放信息Cache.Insert(nameID,00011);/读取信息stringNameID=CachenameID.ToString();思考题:1、 在Session状态测试中,将添加源页和目标页得第一行,观察SessionID值得变化差异?。2、 在Application状态测试代码中,在两个文件的页面指令中加入Trace=True,再次访问两页面,观察SessionID值得变化有什么差异,为什么?3、 ASP.NET分别有哪些状态管理?各有什么优缺点?实验报告要求:1. 实验目的2. 实验内容及步骤3. 实验习题的源程序清单4. 写出在实验过程中遇到的问题及解决方法5. 要求字迹端正、条理清晰、概念正确课题(项目)名称: 数据校验控件使用计划学时: 实验类型: 1.演示性 2.验证性 3.综合性 4.设计性 5.其它授课日期: 年 月 日 第 周 星期 第 节实验五:数据校验控件使用实验学时:2实验目的:对用户输入系统的数据的正确性、合法性和有效性进行检验,防止错误、无效的数据进入系统是网站建设的一个重要内容。本次试验目的是学会使用RequiredFieldValidator、CompareValidator、RangeValidator、RegularExpressionValidator和CustomValidator这些控件完成输入信息的校验,并初步领会数据校验的重要意义。实验内容及要求:一、 RequiredFieldValidator设计如下页面,要求对页面进行如下验证:1) 用户必须选择具体书名2) 用户必须选择编辑3) 用户必须输入bug描述信息二、 CompareValidator设计如下页面,要求对页面进行如下验证:1) 购买数量不能为空,并且必须大于52) 口令与重复口令不能为空3) 口令与重复口令必须相同三、 RangeValidator四、 设计如下页面,要求使用RangeValidator控件对输入的数值验证,数字必须在10到20之间五、 RegularExpressionValidator设计如下页面,要求使用RegularExpressionValidator控件对输入的邮编进行验证,正则表达式可使用系统预定义六、 CustomValidator设计如下页面,要求使用CustomValidator控件对输入数字是否世偶数进行验证思考题:1、 RequiredFieldValidator、CompareValidator、RangeValidator、RegularExpressionValidator和CustomValidator有什么用途?2、 试用以上控件编写简单的数据校验程序。实验报告要求:1. 实验目的2. 实验内容及步骤3. 实验习题的源程序清单4. 写出在实验过程中遇到的问题及解决方法5. 要求字迹端正、条理清晰、概念正确课题(项目)名称: 数据库基本操作计划学时: 实验类型: 1.演示性 2.验证性 3.综合性 4.设计性 5.其它授课日期: 年 月 日 第 周 星期 第 节实验六:数据库基本操作实验目的:采用数据库技术、ASP.NET技术构建动态网站,是本门课程的最主要学习目标之一,本试验要求采用SqlClient提供程序建立与SQL Server数据库的连接,并通过相应的命令获取数据库中的相关数据,实现对数据库的基本操作。实验内容及要求:一、 使用SqlDataSource、GridView实现单表数据的更新应用所学的知识,使用SqlDataSource的GUI配置画面,将学生表的数据绑定到GridView控件,绑定后的画面如下图所示:能够完成对GridView中的数据编辑或删除,编辑的画面如下所示(要求将编辑后的数据更新到数据库中,删除需要在SC表中没有子记录的情况下进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海州区小学期末数学试卷
- 人工智能课件背景介绍
- 企业运营培训课件
- 化工园区消防应急救援中心项目投资计划书(模板)
- 校园宣传培训课件
- 人力资源风险管理课件
- 飞灰固化物填埋场建设项目初步设计(范文模板)
- 城镇群供水及污水综合处理能力提升项目规划设计方案(范文模板)
- 克霉唑免疫细胞影响-洞察及研究
- 城乡公路改建工程规划设计方案(参考范文)
- 一季度安委会汇报材料
- 贵州省遵义市2024年八年级《数学》上学期期末试题与参考答案
- 产品质量问题追溯制度
- TACE围手术期的护理
- GB/T 320-2025工业用合成盐酸
- 山东省青岛市青岛2025年第五十八中学一模数学试题含答案
- 在2025年国企党风廉政建设会议上的讲话
- 老年人误吸的预防团体标准
- 高中数学第三章不等式章末复习提升省公开课一等奖新课获奖课件
- 中职高教版(2023)语文职业模块-第五单元:走近大国工匠(二)学习工匠事迹 领略工匠风采【课件】
- 学校保洁服务投标方案(技术方案)
评论
0/150
提交评论