动态网页制作实训报告课程名称:动态网页制作实训报告*名:**班级:网11学号:***********指导教师:**2012 年 6 月20 日一、前言ASP是一种使嵌入网页中的脚本可又英特网服务器执行的的服务器的脚本技术,随着它的发展开出成为开发网站的热门工具,因此学校开设了动态网页技术,这一实用性的课程,我们挺高好好利用实习的机会对它进行深入研究。
二、实习概况实习科目:动态网页制作实训实习地点:机房实习时间:2012年6月11日—2012年6月22日二、实习目的通过制作在线考试系统,使同学们能够熟悉动态网页制作的开发过程,能够综合应用各种控件及技术,最终完成具备基本功能的在线考试系统,提高同学们的综合操作能力。
四.实训要求在线考试系统实现以下功能:1、在线考试系统解决学生随机选择试卷、显示试卷、答卷、保存答案的问题。
2、在线考试系统解决计算机直接判分的问题。
3、在线考试系统能够对管理员、教师试题库、个人信息等的管理五、系统需求分析(1)总体设计本系统的用户可分为管理员,学生两类。
考虑到系统的安全性,本系统共分成两个部分:一个部分用于管理员登录,主要负责进行对题库、试卷、成绩的管理以及查询等;另一个部分用于考生登录,参加考试,查询成绩。
(2)系统结构图六、总体设计(1).数据库设计网络考试系统的数据库功能主要体现在对各种信息的提供、保存、更新和查询操作上,包括用户信息、试卷信息、学生成绩信息和试题库信息,各部分的数据内容又有着内在的联系,针对该系统的数据特点,可以总结出如下的需求:系统用户分为管理员和学生。
用户信息记录用户的学号、密码和身份。
成绩信息记录了学生的成绩信息。
试卷信息记录了所有已经存在的试卷信息。
试题库信息记录了试卷的内容。
数据库中表的设计:◆课程信息表◆成绩信息表◆教师信息表◆学生信息表◆管理员信息表✧试题修改管理员可以对试题进行修改。
管理员还可以对试题进行修改。
不过,对于各表中的主键不用修改,避免了造成系统中的数据混乱,或者覆盖其它有用数据的现象。
如果用户执行了非法操作,则必须重新操作。
对于对数据库数据的修改,在以前的asp页面中比较麻烦,要想修改一条记录,必须写很长的代码。
在中,几乎可以不写一行代码,就可以对数据库记录进行修改。
✧试题删除管理员可以删除不再需要的试题。
通过在每一条记录的后面放置一个button控件并提示用户是否要删除,来完成试题的删除。
(3)相关界面登陆页面实现用户的身份认证。
管理员用户进入用户添加页面,教师登录后进入教师首页,学生登录后进入学生的首页,页面效果如图所示●登录页登陆后会看到一个考试规则的界面,以提醒大家考试应注意的规则。
●考试规则面添加试题页是管理员才能看到的界面,用于把试题添加到数据库中;●添加试题页考生进入后开始考试后显示考试的界面开始答题;●考题页教师后台页用于后台删除考题和后台查看考生的相关考试信息;●教师后台管理页●管理员后台页(4).考试后台代码using System;using System.Data;using System.Configuration; using System.Collections; using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class student_StartExam : System.Web.UI.Page{public string Ans = null;public int tNUM;protected void Page_Load(object sender, EventArgs e){lblEndtime.Text = "考试时间为10分钟,每小题2分,考试已用时:";lblStuNum.Text = Session["ID"].ToString();lblStuName.Text = Session["name"].ToString();lblStuSex.Text = Session["sex"].ToString();lblStuKM.Text = "[" + Session["KM"].ToString() + "]" + "考试试题";int i = 1;SqlConnection conn = BaseClass.DBCon();conn.Open();SqlCommand cmd = new SqlCommand("select top 10 * from tb_test where testCourse='" + Session["KM"].ToString() + "' order by newid()", conn);SqlDataReader sdr = cmd.ExecuteReader();while (sdr.Read()){Literal littxt = new Literal();Literal litti = new Literal();RadioButtonList cbk = new RadioButtonList();cbk.ID = "cbk" + i.ToString();littxt.Text = i.ToString() + "、¡é" +Server.HtmlEncode(sdr["testContent"].ToString()) + "<br><Blockquote>";litti.Text = "</Blockquote>";cbk.Items.Add("A. " + Server.HtmlEncode(sdr["testAns1"].ToString()));cbk.Items.Add("B. " + Server.HtmlEncode(sdr["testAns2"].ToString()));cbk.Items.Add("C. " + Server.HtmlEncode(sdr["testAns3"].ToString()));cbk.Items.Add("D. " + Server.HtmlEncode(sdr["testAns4"].ToString()));cbk.Font.Size = 11;for (int j = 1; j <= 4; j++){cbk.Items[j - 1].Value = j.ToString();}Ans += sdr[6].ToString();if (Session["a"] == null){Session["Ans"] = Ans;}Panel1.Controls.Add(littxt);Panel1.Controls.Add(cbk);Panel1.Controls.Add(litti);i++;tNUM++;}sdr.Close();conn.Close();Session["a"] = 1;}protected void btnsubmit_Click(object sender, EventArgs e){string msc = "";for (int i = 1; i <= tNUM; i++){RadioButtonList list = (RadioButtonList)Panel1.FindControl("cbk" + i.ToString());if (list != null){if (list.SelectedValue.ToString() != ""){msc += list.SelectedValue.ToString();}else{msc += "0";}}}Session["Sans"] = msc;//考生答案string sql = "update tb_score set RigthAns='" + Ans + "' where StudentID='" + lblStuNum.Text + "'";BaseClass.OperateData(sql);string strsql = "update tb_score set StudentAns='" + msc + "' where StudentID='" + lblStuNum.Text + "'";BaseClass.OperateData(strsql);Response.Redirect("result.aspx?BInt=" + tNUM.ToString());}}七、实训总结一学期又要过去了,经过了这个学期的学习,感觉比上学期有长进了些。
一份耕耘,一份收获。
在实训这段时间中我通过更深入研究,又巩固了旧知识,学到了新知识。
令我非常高兴。
实训过程中,在老师的细心的指导之下,我又学会了好多以前没学习到的知识,了解并掌握了更多的小技巧,提高了学习的效率,加深对网页的认知,在此我谢谢老师的悉心教导。
在实训的过程中,我遇到了许多问题,这些问题以前在上课的时候也有遇到。
所以实训的过程中在老师的指导之下和同学的帮助之下把这些问题解决了。
希望学校以后可以更多给我们一些这样的机会,可以让我们把实践和知识有机的结合在一起,让我们不断的进步,在掌握旧知识的同时学到新知识,当然还有不足的是我在实训中还有很多的问题没有找老师去解决,所以我很遗憾。