ASP程序的设计实验教学案.docx
- 文档编号:30712324
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:30
- 大小:275.96KB
ASP程序的设计实验教学案.docx
《ASP程序的设计实验教学案.docx》由会员分享,可在线阅读,更多相关《ASP程序的设计实验教学案.docx(30页珍藏版)》请在冰豆网上搜索。
ASP程序的设计实验教学案
学院
PanzhihuaUniversity
教案
2011~2012学年度第2学期
课程名称ASP.NET程序设计
学时(学分)
适用班级09软本、09网本、09计本
授课教师继光
教师职务副教授
教学单位计算机学院
教务处制
实验教案编写说明
1、实验教案的编写要求参照《学院教案编写规》(攀院教[2007]04号)执行。
2、实验教案格式可按附后“实验教案”格式采用手写或打印。
3、实验教案的基本容可包括:
教学目的与要求、教学重点与难点、仪器设备及用具、教学过程(含①实验预习检查②实验原理及方法③仪器设备介绍④实验容及注意事项⑤实验指导要点⑥检查实验结果)、实验预做记录(含①原始实验数据记录②数据处理及结果分析)、实验预习要求、实验报告要求、参考书目、后记等相关容。
4、实验教案编写应在坚持教案编写基本要求的基础上,充分考虑教师自身条件和学科的差异,针对教师、学科、学生以及教学情景的不同,编写出形式多样,能体现教学风格、具有特色的教案,促进教案的创新。
5、教案编写水平的高低,很大程度上取决于教师钻研教材与实验方法,研究学生实际状况和设计教学方法的水平,取决于教师对本学科知识掌握的深度和广度以及教师教育思想的端正更新。
因此,教师应努力提高自身素质,提高教师教案编写水平。
实验教案
实验课程名称
ASP.NET程序设计
实验学时
14
□独立设课
□非独立设课
实验课类别
1.基础□2.专业基础□3.专业□4.其它□
任课教师
继光
职称
授课对象
年级:
09专业:
信息 班级:
09网络、计本、阮本
□本科
□专科
教材
和
主要参考资料
教材:
ASP.NET2.0(C#)基础教程,2008.1
主要参考书:
《WEB编程丛书-HTML编程指南》,电子工业,1999
教学目的和
教学要求
《ASP.NET程序设计》是软件工程专业的方向课,是一门实践性较强的应用型课程。
上机实验使学生巩固和运用所学知识解决具体问题,以达到理论联系实际的目的。
同时提高程序设计和上机操作的实际能力。
通过实验增强学生就业竞争能力,为学生后续发展打下坚实的基础。
教学重点和
教学难点
重点:
Web基本工作机制,Web页制作技术和制作工具的使用,Web编程技术的运用与掌握。
难点:
Web编程技术的运用与掌握
教学进程安排
课次
实验项目(实验容)
学时
备注
1
ASP.NET环境配置
2
2
ASP.NET服务端控件使用
2
3
跟踪、调试及异常处理
2
4
状态管理
2
5
数据校验控件使用
2
6
数据库基本操作
2
7
学生成绩管理系统
2
课题(项目)名称:
ASP.NET环境准备测试
计划学时:
2
实验类型:
1.演示性□2.验证性□3.综合性□4.设计性□5.其它□
授课日期:
年月日
第周星期第节
实验一ASP.NET环境准备、测试
一、目的与任务
通过实验,使学生对ASP.NET的运行环境有清晰的认识,能够独立准备ASP.NET的运行环境,为进一步学习奠定一定的基础。
实验容及要求:
一、.NETFramework安装
.NETFramework安装的两种方法如下:
✓到微软上下载.NETFramework安装包,单独对.NETFramework安装包进行安装。
✓安装VisualStudio2005,系统会自动对.NETFramework进行安装
二、IIS的安装与配置
✓到微软上下载IIS安装包,或者到Google、Baidu等搜索门户搜索IIS安装包,并下载到本机保存,并安装,安装步骤略。
✓IIS虚拟目录配置:
运行IIS出现如下画面:
展开本地计算机、结点出现如下画面:
选中默认,鼠标右键操作,出现如下画面:
点击虚拟目录,出现如下画面
点击下一步出现如下画面:
输入虚拟路径别名(可以任意取名),点击下一步出现如下画面:
可直接输入路径(路径必须存在),或点击浏览按钮出现如下画面:
选择相应目录,按确定出现如下画面
分配权限后,按下一步,并在出现的画面中按完成按钮。
选中刚才建立的虚拟路径,鼠标右键,点击属性,出现如下画面:
将执行权限中的“无”,改为“纯脚本”或“脚本或可执行文件”后,确定即可。
IIS测试:
将如下容保存为test.htm,并将该文件放到虚拟目录对应路径下
打开浏览器,输入如下URL:
localhost/xxx/test.htm或IP地址/xxx/test.htm
如果出现如下画面,则IIS配置成功。
三、ASP.NET环境简单测试
将如下代码输入,保存为test.aspx,并将该文件放到虚拟目录对应路径下
打开浏览器,输入如下URL:
localhost/xxx/test.aspx或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按钮,并添加如下代码。
单步执行这些语句,观察代码的执行流程。
protectedvoidButton1_Click(objectsender,EventArgse)
{
inta=0,b=10;
intc=b/a;
Response.Write("异常发生后代码");//该语句会被执行吗?
为什么?
}
运行,点击按钮,观察出现的页面
六、使用try/catch
新建,向添加Button按钮,并添加如下代码。
单步执行这些语句,观察代码的执行流程。
protectedvoidButton1_Click(objectsender,EventArgse)
{
try
{
inta=0,b=10;
intc=b/a;
Response.Write("异常发生后代码");//该语句会被执行吗?
为什么?
}
catch(Exceptionex)
{
Response.Write(ex);
}
Response.Write("异常捕获后代码");//该语句会被执行吗?
为什么?
}
运行,点击按钮,观察出现的页面。
七、不使用try/finally。
新建,向添加Button按钮,并添加如下代码。
单步执行下面语句,观察代码的执行流程。
protectedvoidButton1_Click(objectsender,EventArgse)
{
System.IO.FileStreamfile=null;
System.IO.FileInfofileinfo=newSystem.IO.FileInfo("C:
\\file.txt");
file=fileinfo.OpenWrite();
file.WriteByte(0x30);
inta=0,b=10;
intc=b/a;//当单步执行该语句执行后,试着打开C盘上的file.txt,观看出现的现象
if(file!
=null)
file.Close();
}
八、使用try/finally。
新建,向添加Button按钮,并添加如下代码。
单步执行下面语句,观察代码的执行流程。
protectedvoidButton1_Click(objectsender,EventArgse)
{
System.IO.FileStreamfile=null;
System.IO.FileInfofileinfo=newSystem.IO.FileInfo("C:
\\file.txt");
try
{
file=fileinfo.OpenWrite();
file.WriteByte(0x30);
inta=0,b=10;
intc=b/a;
}
finally
{
if(file!
=null)
{
file.Close();
}
}
}
九、return对try/finally的影响。
新建,向添加Button按钮,并添加如下代码。
单步执行下面语句,观察代码的执行流程。
protectedintReturn_Test()
{
try
{
return0;
}
finally
{
return10;
}
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
Return_Test();
}
一十、try/catch/finally
protectedvoidButton1_Click(objectsender,EventArgse)
{
TestFinally();
}
protectedvoidTestFinally()
{
System.IO.FileStreamfile=null;
System.IO.FileInfofileInfo=newSystem.IO.FileInfo("C:
\\file.txt");
try
{
file=fileInfo.OpenWrite();
file.WriteByte(0xF);
}
finally
{
//Closingthefileallowsyoutoreopenitimmediately-otherwiseIOExceptionisthrown.
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的区别)下面语句,观察代码的执行流程。
privatevoidTestThrow()
{
System.ApplicationExceptionex=
newSystem.ApplicationException("DemonstrationexceptioninTestThrow()");
throwex;
}
protectedvoidTestCatch()
{
try
{
TestThrow();
}
catch(System.ApplicationExceptionex)
{
Response.Write(ex);
}
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
TestCatch();
}
将TestCatch的try/catch语句块去掉,观察异常的传播过程。
一十二、引发自定义异常。
新建,向Button按钮,添加如下代码。
protectedvoidButton1_Click(objectsender,EventArgse)
{
intmul_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.Exceptionex)
{
Response.Write("非自定义异常。
其值为:
"+ex.ToString());
}
}
新建异常类,并抛出该异常:
classIAmSecondGrade:
System.Exception{}//自定义异常类
classSecondGrade
{
publicstaticintmul(intfirst,intsecond)
{
if(first>100||second>100)
thrownewIAmSecondGrade();//引发异常
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)、Hiddenfields、ViewState、Controlstate、应用程序状态、
会话状态等技术来对状态进行管理。
方法
信息量大小
作用域和保存时间
应用围
保存位置
Application
任意大小
整个应用程序的生命期
整个应用程序/所有用户
服务器端
Cache
任意大小
可以根据需要设定
整个应用程序/所有用户
服务器端
Session
小量,简单的数据
用户活动时间+一段延迟时间(一般为20分钟)
单个用户
服务器端
Cookie
小量,简单的数据
可以根据需要设定
单个用户
客户端
Viewstate
小量,简单的数据
一个Web页面的生命期
单个用户
客户端
隐藏域
小量,简单的数据
一个Web页面的生命期
单个用户
客户端
查询字符串
小量,简单的数据
直到下次页面跳转请求
单个用户
客户端
一、Cookie(客户端)
Cookie是以文本存储于计算机中,使用name-value匹配。
一般用户存储标识用户信息,如:
用户名,用户使用配置等。
虽然Cookie可以被加密存储,但不推荐在Cookie中保存用户密码,Cookie的大小是限定的,所以不适合存储大型数据。
1、设置用户ID
Response.Cookies["UserId"].Value=username;
2、获取用户ID
if(Request.Cookies["UserId"]!
=null)
lbMessage.text=Request.Cookies["UserId"].ToString();
二、Hiddenfields(客户端)
Hiddenfield是在页面级保存信息。
与其他用户标准控件的区别是,HiddenField不被呈现在页面中。
当页面提交的时候,HiddenField中的值将被一同发送给服务端。
虽有在ASP.NET2.0中,我们可以使用ViewState来代替,但HiddenFields依然可以用来存放一些不关键信息。
protectedSystem.Web.UI.HtmlControls.HtmlInputHiddenHidden1;
Hidden1.Value="Createhiddenfields";
stringstr=Hidden1.Value;
三、ViewState(客户端)
状态视图ViewSate,可以用来为单独用户存储信息。
你可以通过设置EnableViewState属性来控制ViewState的使用,在默认的情况下属性值为True.ViewSate在每次用户请求或服务端响应时,都会被传输。
所以,为了减少网络带宽的使用,可以在不需要状态视图时设置EnableViewState属性值为False。
ViewSate在页面中的存储是经过Base64转码的,增加了额外的数据量,所以一定要注意保存较少的ViewState.
//AdditemtoViewState
ViewState["myviewstate"]=myValue;
//ReadingitemsfromViewState
Response.Write(ViewState["myviewstate"]);
四、Querystrings(客户端)
使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在浏览器的地址栏上的(不安全),同时又不能传递对象,但是在传递的值少而安全性要求不高的情况下,这个方法还是一个不错的方案。
使用这种方法的步骤如下:
1、使用控件创建web表单(form)
2、创建可以返回表单的按钮和按钮
3、在按钮或按钮的单击事件里创建一个保存URL的字符变量
4、在保存的URL里添加QueryString参数
5、使用Response.Redirect重定向到上面保存的URL
下面的代码片断演示了如何实现这个方法:
源页面代码:
privatevoidButton1_Click(objectsender,System.EventArgse)
{
stringurl="anotherwebform.aspx?
name="+TextBox1.Text+"&email="+TextBox2.Text;
Response.Redirect(url);
}
目标页面代码:
privatevoidPage_Load(objectsender,System.EventArgse)
{
Label1.Text=Request.QueryString["name"];
Label2.Text=Request.QueryString["email"];
}
五、Application(服务端)
Application状态存储的信息对整个应用程序都是可见的,状态变量可以被的所有页面访问,用于公共信息的存储。
//test1.aspx
<%PageLanguage="C#"%>
<%Application["CompanyTelephone"]="123456789";%>
Appli
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ASP 程序 设计 实验教学