




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
动态网站建设 实训报告系 别 经管系 专 业 计算机信息管理 班 级 G12450301 姓 名 包亚红 指导教师 马涛 完成时间 12月14号 前言 ASP.NET是Web开发技术高速发展的产物,是当前主流的Web应用程序开发技术之一,它构建与 .NET Framework之上,使得从传统的数据库访问技术到如今的分布式应用开发技术等一系列技术都发生了变革。而且,它在快速发展、编译与部署方面的优势是任何一种互联网开发技术都无可比拟的。也正是因为这些优点,一批又一批的开发人员加入到ASP.NET的开发阵营中。通过ASP.NET,我们可以简单快速的开发出企业级的、高性能的、便于维护的Web应用系统。 ASP.NET技术是微软近年来推出的主要技术,自从.NET2.0版本问世之后,越来越多的开发人员和企业已经能够接受.NET技术带来的革新。ASP.NET4.0是目前微软最新的Web应用开发可视化平台,它不仅在语言和技术上弥补了原有的ASP.NET2.0与ASP.NET3.0的不足,并提供了很多新的控件和技术特性以提升开发人员的生产力。与之相应,Visual Studio 2010除了保持与Visual Studio 旧版本相同的特点之外,也提供了大量新的帮助提升开发人员的编程效率。鉴于ASP.NET所涉及的内容众多,本次实训尽可能介绍各个方面的主要内容,对实际设计与开发过程中使用较少的知识点只作了简单介绍,而对那些应用型强、开发中使用频率较高的知识点则通过一系列小规模精选案例进行相对全面、深入的阐述和分析。 21 目录一、实训目的与要求3二、实训任务3一、具有简单学生成绩查询功能的web应用程序3二、具有简单登陆验证和密码忘记功能的web应用程序3三、实训要求3四、网站设计3一、具有简单学生成绩查询功能的Web应用程序31、项目所涉及的知识点32、设计方案43、设计过程64、设计结果11二、具有简单登陆验证和密码忘记功能的web应用程序111、设计方案112、设计过程123、设计结果16五、设计中遇到的问题及解决方法18六、参考资料19七、实训总结20八、实训成绩 _20一、实训目的与要求 动态网站建设课程实训是我院计算机信息管理专业学生,网站建设集中实训的重要环节之一,是学习完静态网站建设、动态网站建设等课程后进行的一次全面的综合练习。其目的在于加深对网站开发的理解,掌握技术,使用c#语言进行编程和运用Dreamweaver制作网页的基本方法,提高开发网站实际操作的能力。二、实训任务 一、具有简单学生成绩查询功能的web应用程序 二、具有简单登陆验证和密码忘记功能的web应用程序三、实训要求 程序调试无异常,能够正常运行。 页面整齐、美观。 关键代码部分应有必要注释。四、网站设计 一、具有简单学生成绩查询功能的Web应用程序 1、项目所涉及的知识点1、C# (2)、变量与常量 (3)、运算符和表达式 (4)、流程控制语句 2、服务器控件(1)、服务器控件简介(2)、标准WEB服务器控件(3)、验证控件实训方法 3、使用数据库系统 (1)、创建Microsoft SQL Seever 数据库 (2)、常用SQL语句 (3)、Microsoft SQL Seever常用操作 (4)、创建Microsoft Access数据库 4、使用数据控件访问数据库 (1)、使用数据源文件 (2)、使用GridView控件 (3)、使用FormView控件 (4)、使用Reprater控件 (5)、使用DetailsView控件2、设计方案 (1)数据库设计:在Microsoft Access中创建一个名为student的数据库,在其中包括uid(学号,主键)、unname(姓名)、unnex(性别)、class(班级)、math(数学)、VFP(数据库)、dongtai(动态网站)、tongji(统计学)8个字段的gread表,并向表中添加相关数据,如下图所示。 (2)学生成绩查询系统界面设置 新建一个ASP.NET网站,向Default.aspx页面添加一个用于布局的HTML表格,添加一个下拉列表框DropDownList,一个文本框控件TextBox,三个按钮Button1(查询)、Button2(显示全部)、Button3(退出系统),一个用于显示student数据库数据的GridView控件和四个分别以学号,姓名,班级,全部查询的SqlDataSourse控件。分别为SqlDataSourse1、SqlDataSourse2、SqlDataSourse3、SqlDataSourse4.界面设置如下图所示。(3) 登陆系统界面设置 给Default.aspx页面添加一个Web窗体,命名为chapter1,在chapter1中添加两个文本框控件TextBox1和TextBox2,一个Button按钮。3、设计过程 (1)学生成绩查询系统页面控件属性设置 设置下拉列表DropDownList的ID属性为DropType,文本框TextBox1的ID属性为TextKey,按钮Button1的ID属性为ButtonQuery,Text属性为查询,Button2的Text属性为显示全部,Button3的Text属性为退出系统,GridView的ShowFooter属性为True,AutoGenerateColumns属性为False. 设置数据库控件SqlDataSourse1的属性,为其配置数据源。在其任务菜单中执行“配置数据源”命令,在打开的对话框中单击“浏览”按钮,选择已经存放在APP-Data下的数据库student.mdb文件。在配置“SELECT”对话框中选择“制定自定义SQL或语句存储过程”。单击“下一步”按钮,打开如图所示的对话框,录入如下图所示的SQL语句是返回记录集中包含一个总分计算字段。单击“下一步”按钮,在打开的对话框中设置查询条件为uid的数据等于TextKey的Text属性值,单击“下一步”按钮,测试查询,单击“完成”按钮完成对SqlDataSourse1的数据配置。 SqlDataSourse2与SqlDataSourse3的数据配置方法与SqlDataSourse1的方法基本相同,为了使程序支持“模糊查询”在按姓名和班级查询时使用了“LIKE”运算符。SqlDataSourse2的SELECT语句设置SqlDataSourse3的SELECT语句设置SqlDataSourse4的设置只是去掉了WHERE字句,用于无条件的返回记录。(2) 学生成绩查询系统页面控件代码设置编写页页面装入时执行的代码 protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) DropType.Items.Add(学号); /向下拉列表中添加供选项 DropType.Items.Add(姓名); DropType.Items.Add(班级); GridView1.DataSource = SqlDataSource6; /在GridView1中显示所有数据 GridView1.DataBind(); TextBox1.Focus(); /本框得到焦点 查询按钮被单击时产生的事件代码 protected void ButtonQuery_Click1(object sender, EventArgs e) if (TextBox1.Text = ) /如果用户没有输入查询关键字 Response.Write(alert(查询关键字不能为空!);); return; switch (DropType.Text) /根据用户选项将GridView控件绑定到不同的数据源 case 学号: GridView1.DataSource = SqlDataSource3; GridView1.DataBind(); break; case 姓名: GridView1.DataSource = SqlDataSource4; GridView1.DataBind(); break; case 性别: GridView1.DataSource = SqlDataSource5; GridView1.DataBind(); break; if (GridView1.Rows.Count = 0)/如果GridView包含的行数为0 Response.Write(alert(未找到符号条件的记录!);); TextBox1.Text = ; GridView1.DataSource = SqlDataSource6; GridView1.DataBind(); “显示全部”按钮被单击时执行的事件代码 protected void Button2_Click(object sender, EventArgs e) GridView1.DataSource = SqlDataSource6; GridView1.DataBind(); GridView控件发生行绑定时执行的事件代码 double sum1 = 0, sum2 = 0, sum3 = 0, sum4 = 0;/在事件过程之外申明存储总和的变量protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) if (e.Row.RowIndex -1) sum1 += Convert.ToDouble(e.Row.Cells5.Text);/累计总和 sum2 += Convert.ToDouble(e.Row.Cells6.Text); sum3 += Convert.ToDouble(e.Row.Cells7.Text); sum4 += Convert.ToDouble(e.Row.Cells8.Text); else if (e.Row.RowType = DataControlRowType .Footer) e.Row.Cells4.Text = 平均:; e.Row.Cells5.Text=(double)(sum1GridView1.Rows.Count). ToString(0.00); e.Row.Cells6.Text=(double)(sum2GridView1.Rows.Count). ToString(0.00); e.Row.Cells7.Text=(double)(sum3GridView1.Rows.Count). ToString(0.00); e.Row.Cells8.Text=(double)(sum4GridView1.Rows.Count). ToString(0.00); (3) 登陆界面控件属性设置Button1的Text属性设为“登陆”TextBox2的TextMode属性为PassWord(4) 登陆界面控件代码设置单击“登陆”按钮时的事件代码 protected void Button1_Click(object sender, EventArgs e) string strName = TextBox1.Text; string strPwd = TextBox2.Text; if (strName = 包亚红 & strPwd = 123)/用户名和密码设置 Response.Write(alert(欢迎登陆查询系统);); Response.Redirect(Default.aspx); else Response.Write(alert(用户名不从在或密码错误!);); 4、设计结果用户输入用户名,输入密码,点击“登陆”按钮,当用户名和密码都正确时,进入学生成绩查询系统的界面。登陆成功进入学生成绩查询系统,学生成绩查询系统功能如图所示,可按班级,姓名,学号查询所需要的学生信息,查询完毕后,点击“退出系统”按钮返回到登陆界面。二、具有简单登陆验证和密码忘记功能的web应用程序1、设计方案建一个ASP.NET网站,向Default.aspx页面添加两个Web-窗体,分别命名为chapter1和chapter7-2-1。 在chapter1中添加一个用于布局的HTML表格,向表格中添加三个TABLE控件,分别为TABLE1(新闻发布系统登陆)、TABLE2(用户名)、TABLE3(密码),两个TextBox控件,三个LinkBottou控件,分别为LinkBottou1(登陆)、LinkBottou2(注册)、LinkBottou3(忘记密码)。如下图所示 在chapter7-2-1中添加一个用于布局的HTML表格,向表格中添加两个LABLE控件,两个TextBox控件,两个LinkButton控件,分别为LinkButton1(找回)、LinkButton2(返回),界面如下图所示 2、设计过程(1)前台界面设计 新建一个数据库student,向其中添加一张新表users,在users表中添加字段username(用户名、主键)、userpwd(密码)、level(用户级别)、question(找回密码提示问题)、answer(预留的问题答案)。表设计完成后,适当的填入数据,其中“level”只能填入“admin(管理员)”和“users(普通用户)”。如下图所示 cahpter1中,TextBox2的TextMode属性设置为PassWord chapter7-2-1中,“返回”按钮的PostBackUrl属性指向登陆界面chapter1。(2)后台程序代码 1chapter1页面中“登陆”链接按钮的代码protected void LinkButton1_Click1(object sender, EventArgs e) SqlConnection conn = new SqlConnection(); /设置conn对象的连接字符串 conn.ConnectionString = Data Source=.SQLEXPRESS;AttachDbFilename=F:新建文件夹案例72案例72App_DatanewsSystem.mdf;Integrated Security=True;User Instance=True; conn.Open(); string selectSql = select * from users where username= +TextBox1.Text + and userpwd= + TextBox2.Text + ; SqlDataAdapter da = new SqlDataAdapter(); /创建DataAdapter对象 da.SelectCommand = new SqlCommand(selectSql, conn); DataSet ds = new DataSet(); da.Fill(ds); /将DataAdapter执行select语句的结果填充到DataSet对象 conn.Close(); /断开链接,使用DataSet的离线操作模式 if (ds.Tables0.Rows.Count = 0) Response.Write(alert(用户名或密码错误!);); return; DataRow myRow = ds.Tables0.Rows0; if (myRow2.ToString().Trim() = admin) Response.Write(alert(您是管理员,欢迎!);); else Response.Write(alert(您是普通用欢迎!);); 2chapter1页面中“忘记密码”链接按钮的代码:protected void LinkButton3_Click(object sender, EventArgs e) if (TextBox1.Text = ) Response.Write(alert(请输入用户名!);); return; /通过查询字符串将用户名传递给找回密码页面 Response.Redirect(chapter7-2-1.aspx?username= + TextBox1.Text); 3chapter7-2-1的页面加载事件代码:protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) /如果页面时首次加载 if(Request.QueryStringusername=null) /若查询字符串的值为null,则返回登录界面,防止误入 Response.Redirect(WebForm1.aspx); /将登录页面传递来的用户名显示在标签控件中 Label3.Text=Request.QueryStringusername; SqlConnection conn = new SqlConnection(); conn.ConnectionString = Data Source=.SQLEXPRESS;AttachDbFilename=F:新建文件夹案例72案例72App_DatanewsSystem.mdf;Integrated Security=True;User Instance=True; conn.Open();/设置查询字符串,查找同查询字符串传递的用户名一致的记录 string selectSql=select * from users wherusername=+Label3.Text+; SqlDataAdapter da = new SqlDataAdapter(); /创建DataAdapter对象 da.SelectCommand = new SqlCommand(selectSql, conn); DataSet ds = new DataSet(); da.Fill(ds); conn.Close(); if (ds.Tables0.Rows.Count = 0) /未找到符合条件的记录 Response.Write(alert(用户名不存在);); return; DataRow myRow = ds.Tables0.Rows0; Label4.Text=myRow3.ToString().Trim();4chapter7-2-1页面中“找回”链接按钮的代码:protected void LinkButton1_Click(object sender, EventArgs e) SqlConnection conn = new SqlConnection();conn.ConnectionString=DataSource=.SQLEXPRESS;AttachDbFilename=F:新建文件夹案例72案例72App_DatanewsSystem.mdf;Integrated Security=True;User Instance=True; conn.Open(); /打开连接 string selectSql=select * from users where username=+Label3.Text+; SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = new SqlCommand(selectSql, conn); DataSet ds = new DataSet();/将DataAdapter执行SQL语句的结果填充到DataSet对象中 da.Fill(ds); DataRow myRow=ds.Tables0.Rows0; if(TextBox1.Text=myRow4.ToString().Trim() /创建CommandBuilder对象后,无需再使用DataAdapter的/UpdataCommand属性来执行更新操作,但前提是表一定要有主键 SqlCommandBuilder scb = new SqlCommandBuilder(da); Random r=new Random(); string newpwd=r.Next(100000,999999).ToString(); Response.Write(alert(您的新密码是:+newpwd+,请牢记并及时更改!);); myRowuserpwd=newpwd; /将新密码写入DataSet da.Update(ds); /将DataSet中的数据更改通过适配器回送到数据源 conn.Close(); else Response.Write(alert(您的提示问题答案不正确!);); 3、设计结果输入用户名和密码,当用户名和密码都正确时,登陆到系统,显示用户级别。如下图所示当输入密码错误时,跳出对话框,提示用户名或密码错,如下图所示当用户忘记密码时,可在输入用户名后单击“找回密码”按钮跳转到如下界面,找回密码。在“你的答案”对应的TextBox控件中输入users表中预留问题所对应的相应答案,当答案正确时,生成新密码,按“返回”按钮,返回到登陆界面登陆系统。 五、设计中遇到的问题及解决方法 项目一 1、GridView1任务里编辑列时DataField与HeaderText混淆。 经过老师的讲解示范及同学们的帮助,搞明白里DataField与HeaderText的意思。 2、SqlDataSource配置数据源时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运动防护用具的环保可持续发展战略考核试卷
- 文化艺术产业的国际竞争力分析考核试卷
- 珠宝首饰设计与消费者互动体验考核试卷
- 计量技术在汽车行业的应用考核试卷
- 橡胶板在防尘口罩密封材料中的应用考核试卷
- 计量检测在科研领域的应用考试考核试卷
- 糕点店品牌故事与文化建设考核试卷
- 耳部微波治疗技术解析
- 医学检验毕业就业去向分析
- 影视作品音乐版权授权与版权保护及合作开发及广告合作合同
- 前置胎盘健康宣教
- 医院标识工作总结共4篇
- NSCACSCS美国国家体能协会体能教练认证指南
- 集装箱装柜数智能计算表
- 尿流动力学检查
- 答案-国开电大本科《当代中国政治制度》在线形考(形考任务一)试题
- 绿植租摆服务投标方案(技术方案)
- 中学英语Unit1 thinking as a hobby课件
- 《意大利美食文化》课件
- 绿色中国智慧树知到课后章节答案2023年下华东理工大学
- 《施之以爱报之以恩》的主题班会
评论
0/150
提交评论