C#Web实训指导书.docx
《C#Web实训指导书.docx》由会员分享,可在线阅读,更多相关《C#Web实训指导书.docx(30页珍藏版)》请在冰点文库上搜索。
C#Web实训指导书
实训指导书
实训的具体按排和要求
1、实训对象:
14级计算机专业
2、实训时间:
四周
3、实训内容:
ASP.NETWEB应用开发
概述
1.实训设备及环境
2.加强实践能力的培养
实训一 ASP.NET的运行环境的安装和配置
实训二 利用数组统计学生成绩
实训三 验证控件(注册表单验证)
实训四 列表控件的数据绑定
实训五 ADO.NET数据库访问技术应用
实训六 GridView控件应用
实训七 基于ASP.NET+SQL2008WEB应用开发
概述
《ASP.NET课程》实训分7个项目进行,每次上机学时可按推荐学时进行,也可根据每个小组自身具体情况进行适当的调整,但《ASP.NET课程》实训上机的总学时不得小于80学时。
每次上机的内容及推荐学时见下表。
序 号
实训名称
课时
实训一
ASP.NET的运行环境的安装和配置
5
实训二
编程,统计学生成绩
5
实训三
验证控件(注册表单验证)
10
实训四
列表控件的数据绑定
10
实训五
ADO.NET数据库访问技术应用
10
实训六
GridView控件应用
10
实训七
基于ASP.NET+SQL2008WEB应用开发
30
1.实训设备及环境
软硬件要求:
⏹微型计算机
⏹WINDOWS XP
⏹.NETFramk(.NET框架) 3.5或更高版本
⏹SQLServer2005、Access
⏹MicrosoftVisualS2008
2.加强实践能力的培养
1)、实训目的:
(1)以十一个实训项目为模块,深入理解、掌握、运用ASP.NET技术和VS.NET工具开发基于sqlserver数据库应用程序开发技术;
(2)通过实训获得项目开发设计的基本思路,接合软件工程思想,全面了解软件项目开发的流程。
(3)掌握软件项目开发流程中的系统需求分析、概要设计、详细设计、测试、程序发布等各开发步骤的基本思想,深刻理解软件工程思想在系统开发中的作用。
(4)学习利用面向对象思想来分析软件项目和进行软件设计的技能。
(5)通过本实训项目了项目流程,验证和巩固ASP.NET的基本理论,加强对基本概念的理解;并利用本学期课程的知识,灵活处理在软件开发中遇到的各种技术问题。
(6)熟练掌握ASP.NET的普通控件以及ADO.NET组件对数据库进行存取的技术;灵活运用微软提供的.NET组件DataAccessApplicationBlock提高数据库相关项目的开发效率。
(7)培养分析问题和解决问题的能力;
(8)培养理论联系实际,实事求是的科学态度;
(9)培养严肃认真、踏实细致的工作作风,和团结互助的思想品德;
(10)实验前要认真预习,阅读实验指导书,复习理论知识。
(11)通过本次实训,学生应该对基于网络数据库SQLServer的ASP.NET应用程序的基本结构及功能有一个全面熟悉的了解;了解B/S结构程序运行的技术环境,包括客户端和服务器端的基本原理,ASP.NET普通组件和ADO.NET结合开发数据库应用程序等。
能够结合SQLServer数据库编程,开发较复杂的商用ASP.NET应用程序。
2)、实训要求说明:
①指导书给出的内容只是完成基本功能,其它功能请查阅相关参考书。
②实训上机期间,每个学生都要认真听从指导老师的指挥,按时按量独立完成实训的内容。
如有违纪者,将取消其实训的上机资格,并且其实训成绩当零分处理。
③实训期间要严格按照实训报告格式要求认真书写实训报告,实训结束后将实训作品和实训报告一起上交指导老师批改、评分。
3)、实训报告书写的格式要求
1、实训报告封面要依次填写题目、专业、班级、姓名、学号、日期、指导老师等项目。
2、报告内页书写的具体内容应包含以下几个方面:
1)实训名称:
即实训题目。
2)实训目的:
即通过本次实训要得到哪些方面的主要训练,将学会掌握哪些相关专业技能。
3)实训环境:
既设备(硬件、系统平台)、开发工具、方法手段等。
4)实训计划:
做出本次实训的总体计划并制定出实施计划的具体步骤(可按完成功能模块来划分)及进度安排,列出时间表。
5)关键技术与解决途径:
本次实训的技术要点(可按实训计划里制定的具体步骤一一编写),并要求写出如何解决这些技术要点(要求编写源代码并附上代码说明,必要时请附上截图)。
6)自我评价:
即总结本次实训的个人心得体会。
包括对这次实训任务完成情况的评价;实训的收获与预期目标是否一致的评价以及对实训组织、安排、管理等方面的评价。
这部分不仅要求写出问题,更希望写出你的建议。
7)主要参考文献(可无):
请写出你完成本次实训所参考的主要书籍(格式如下)
赵振江程序设计案例教程.北京:
人民邮电出版社
8)致谢(可无):
对给予支持、指导和协助完成本次实训任务,以及提供各种条件的单位及个人表示感谢。
致谢应实事求是、诚恳热诚。
4)、实训成绩的评定标准
指导老师根据学生实训期间的表现、实训内容的完成情况以及所写的实训报告(设计说明书)给予该生优、良、中、及格、不及格等综合评定等级,并作为该实训课程的期评成绩上报成绩。
实训一 ASP.NET的运行环境的安装和配置
1.实训目的:
掌握ASP.NET运行环境的安装;熟悉ASP.NET应用程序的配置;掌握Web网页的发布。
2.实训要点:
2.1. 通过实训掌握ASP.NET运行环境的安装;熟悉ASP.NET应用程序的配置;掌握Web页的发布。
2.2.通过实训掌握【工具箱】、【属性】、【解决方案资源管理器】等的用法和基本操作技巧。
3.实训准备:
WindowsXP或者2000操作系统,准备好Microsoft.Visual.S2005、SQLServer2000、IIS、DreamWeaver等软件,安装.netframework框架,配置.net环境。
4.实训内容:
在个人电脑上安装VS.NET和IIS,并创建项目,实现第一个”HelloWorld”程序,检验安装配置是否成功。
5.实训步骤:
4.1.安装并配置IIS(InternetInformationServer,互联网信息服务)是一种Web(网页)服务组件,它用于网络(包括互联网和局域网)上发布信息,使客户端通过HTTP请求能获取到发布的资源,过程如下图:
图1.1
4.2.安装MicrosoftVisualStudio2008,双击setup.exe,程序开发环境如下图:
图1.2
4.3.创建第一个”HelloWorld”程序,并通过IIS发布。
运行编程环境,创建-网站,编写代码:
窗体输出(“HelloWorld”);然后在IIS中创建虚拟目录,并浏览发布,如下图:
图1.3
6.实训总结:
6.1.认真填写实训报告。
6.2.思考IIS发布网站的时候如何设置根目录。
6.3.VS.NET安装和IIS安装过程中出现的问题分析,顺序不同需要如何处理。
实训二编程,统计学生成绩
1.实训目的:
练习如何使用数组进行程序设计。
2.实训要点:
本实训主要利用数组,在窗体中输出学生成绩统计情况。
3.实训准备:
掌握C#程序语言的基本语法和编程技巧,掌握数组的使用方法。
4.实训内容:
建立窗体,统计课程成绩的平均成绩。
5.实训步骤:
5.1.运行VS.NET2008,新建项目
在窗体的TextBox1中输入10个两位正整数,之间用逗号隔开,在TextBox2中显示对输入的10个数的总成绩。
5.2.在代码窗口中编写程序代码,程序源代码如下:
stringstr1=TextBox1.Text;
intsum=0;
string[]str=str1.Split(',');//得到一个str的数组{“a”,”b“,“c”,”d“,“e”,”f“}
int[]c=newint[str.Length];
for(inti=0;i{
c[i]=Convert.ToInt32(str[i]);
sum+=c[i];
}
TextBox1.Text=sum.ToString();
5.3启动调试“命令”或“F5”键运行程序。
6.实训总结:
6.1.实训后认真做好实训报告。
6.2.总结数组的使用,思考成绩重新分类输出,如优秀人数,良好人数,中等人数,及格人数,不及格人数等的实现。
6.3.思考创建一个web网站,根据系统时间输出早上好、下午好、中午好、晚上好。
protectedvoidPage_Load(objectsender,EventArgse)
{
DateTimedt=DateTime.Now;
stringtime1=dt.ToShortTimeString();
stringt=dt.Hour.ToString();
Label1.Text="现在时间是"+time1;
if(Convert.ToInt16(t)>=6&&Convert.ToInt16(t)<=8)
{
Label2.Text="早上好!
";
}
elseif(Convert.ToInt16(t)>8&&Convert.ToInt16(t)<12)
{
Label2.Text="上午好!
";
}
elseif(Convert.ToInt16(t)>=12&&Convert.ToInt16(t)<14)
{
Label2.Text="中午好!
";
}
elseif(Convert.ToInt16(t)>14&&Convert.ToInt16(t)<18)
{
Label2.Text="下午好!
";
}
else
{
Label2.Text="晚上好!
";
}
}
6.4思考:
随机产生10个两位整数,找出其中的最大值、最小值和小于平均值的数;窗体如下:
代码:
Randomrnd=newRandom();
int[]tt=newint[10];
intmax,min,avg,sum=0;
TextBox2.Text="随机两位数为:
";
for(inti=0;i<10;i++)
{
tt[i]=rnd.Next(10,99);
sum+=tt[i];
TextBox2.Text+=tt[i].ToString()+"";//随机数输出
}
//求最大值
max=tt[0];
for(inti=0;i<10;i++)
{
if(max
{
max=tt[i];
}
}
TextBox2.Text+="\r\n"+"最大值为:
"+max.ToString();
//求最小数
min=tt[0];
for(inti=0;i<10;i++)
{
if(min>tt[i])
{
min=tt[i];
}
}
avg=sum/10;
TextBox2.Text+="\r\n"+"最小值为:
"+min.ToString();
TextBox2.Text+="\r\n"+"和为:
"+sum;
TextBox2.Text+="\r\n"+"平均值为:
"+avg;
TextBox2.Text+="\r\n"+"小于平均值的数为:
";
//求小于平均值的数
for(inti=0;i<10;i++)
{
if(tt[i]{
TextBox2.Text+=tt[i].ToString()+"";
}
}
实训三 验证控件(注册表单验证)
1.实训目的:
掌握验证控件的使用,包括RequiredFieldValidator控件、CompareValidator控件、RangeValidator控件、CustomValidator控件、RegularExpressionValidator控件、ValidationSummary控件的综合应用。
2.实训要点:
完成一个用户注册页面的设计,同时在用户注册页面,使用多种验证控件检查用户姓名、密码输入是否为空、长度是否两次密码输入是否一致、用户电子信箱是否合法。
3.实训准备:
掌握RequiredFieldValidator控件、CompareValidator控件、RangeValidator控件、CustomValidator控件、RegularExpressionValidator控件、ValidationSummary控件的属性和使用方法。
4.实训内容:
实现注册表单的验证,验证成功完成注册,否则注册不通过。
5.实训步骤:
5.1.创建register.aspx如图8.1,使用RequiredFieldValidator控件、CompareValidator控件、RangeValidator控件、CustomValidator控件、RegularExpressionValidator控件对相应的文本框进行验证控制。
5.2.验证控件类型及其语法如下:
(1) RequiredFieldValidator(必须字段验证)用于检查是否有输入值<ASP:
RequiredFieldValidatorid="Validator_Name"Runat="Server"ControlToValidate="要检查的控件名"ErrorMessage="出错信息"Display="Static|Dymatic|None"></ASP:
RequiredFieldValidator>
(2) CompareValidator(比较验证)按设定比较两个输入<ASP:
CompareValidatorid="Validator_ID"RunAt="Server"ControlToValidate="要验证的控件ID"errorMessage="错误信息"ControlToCompare="要比较的控件ID"type="String|Integer|Double|DateTime|Currency"operator="Equal|NotEqual|GreaterThan|GreaterTanEqual|LessThan|LessThanEqual|DataTypeCheck"Display="Static|Dymatic|None"></ASP:
CompareValidator>
(3) RangeValidator(范围验证)输入是否在指定范围<ASP:
RangeValidatorid="Vaidator_ID"Runat="Server"controlToValidate="要验证的控件ID"type="Integer"MinimumValue=1000"MaximumValue="10000000"errorMessage="错误信息"Display="Static|Dymatic|None"></ASP:
RangeValidator>
(4) RegularExpressionValidator(正则表达式验证)正则表达式验证控件<ASP:
RegularExpressionValidatorid="Validator_ID"RunAt="Server"ControlToValidate="要验证控件名"ValidationExpression="正则表达式"errorMessage="错误信息"display="Static"></ASP:
RegularExpressionValidator>
(5) CustomValidator(自定义验证)自定义验证控件<ASP:
CustomValidatorid="Validator_ID"RunAt="Server"controlToValidate="要验证的控件"onServerValidateFunction="验证函数"errorMessage="错误信息"Display="Static|Dymatic|None"></ASP:
CustomValidator>
(6) ValidationSummary(验证总结)总结验证结果ValidationSummaryid="Validator_ID"RunAT="Server"HeaderText="头信息"ShowSummary="True|False"DiaplayMode="List|BulletList|SingleParagraph"></ASP:
ValidationSummary>
(7) 验证用户名不为空<ASP:
RequiredFieldValidatorid="Validator1"Runat="Server"ControlToValidate="txtName"ErrorMessage="姓名必须输入"Display="Static">*姓名必须输入</ASP:
RequiredFieldValidator>
(8) 验证两次密码输入一致<ASP:
CompareValidatorid="Validator_ID"RunAt="Server"ControlToValidate="txtPWD2"errorMessage="两次密码输入不一致"ControlToCompare="txtPWD"type="String|Integer|Double|DateTime|Currency"operator="Equal"Display="Static">
(9) 验证邮箱的格式的正则表达式:
/^([a-zA-Z0-9]|[._])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/
5.3.编写register.aspx.cs代码:
if(Page.IsValid)
{
if(CheckBox1.Checked)
{
Response.Redirect("center.aspx");
}
else
{
Response.Write("请同意条款");
}
}
图8.1
5.4. 在浏览器中调试运行。
6.实训总结:
6.1.实训后认真做好实训报告。
6.2.总结验证控件的使用方法。
6.3. 思考如何使用CustomValidator控件,对注册用户名是否存在进行验证。
实训四 列表控件的数据绑定
1.实训目的:
了解ASP.NET服务器控件的属性和方法;掌握ASP.NET服务器控件的使用以及列表控件的数据绑定。
2.实训要点:
列表控件的使用,第一个控件选择省份。
第二控件列出相应的市区。
3.实训准备:
了解ASP.NET服务器控件的属性和方法,了解MSSQL创建数据库,了解数据库访问原理。
4.实训内容:
实现列表控件与数据库的绑定,数据库表包括省份和市区两个主要字段。
5.实训步骤:
5.1 创建数据库control,包括province和city两个表。
分别包括pname,pid;cname,cid字段。
并向数据库中添加一些记录。
5.2 创建网站default.aspx如图7.1,并设置列表控件AutoPostBack="True"。
图7.1
方法一:
5.3 创建一个db.cs类文件,保存数据库连接字符串。
publicstaticSqlConnectioncreatconn()
{
SqlConnectionconn=newSqlConnection("server=.;uid=sa;pwd=;database=control");
returnconn;
}
5.4 编写default.aspx.cs代码:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;
publicpartialclass_Default:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
SqlConnectionconn=db.creatconn();
conn.Open();
SqlCommandcmd=newSqlCommand("select*fromprovinceorderbypidasc",conn);//ASC-升序DESC-降序
SqlDataReadersdr=cmd.ExecuteReader();
DropDownList1.DataSource=sdr;
DropDownList1.DataTextField="pname";
DropDownList1.DataValueField="pid";
DropDownList1.DataBind();
sdr.Close();
SqlCommandcmd2=newSqlCommand("select*fromcitywherepid='"+DropDownList1.SelectedValue+"'",conn);
SqlDataReadersdr2=cmd2.ExecuteReader();
DropDownList2.DataSource=sdr2;
DropDownList2.DataTextField="cname";
DropDownList2.DataValueField="cid";
DropDownList2.DataBind();
sdr2.Close();
conn.Close();
}
}
protectedvoidDropDownList1_SelectedIndexChanged(objectsender,EventArgse)
{
SqlConnectionconn=db.creatconn();
conn.Open();
SqlCommandcmd2=newSqlCommand("sel