public ActionResult GetStudentScore() { Guid studentId = new Guid(Request.QueryString["SId"]); int courseId = Convert.ToInt32(Request.QueryString["CId"]); List <CouScore> listCs = db.CouScore.Where(cs => cs.CourseId == courseId && cs.StudentId == studentId).OrderBy(cs => cs.ModuleTag).ToList(); ViewBag.listCs = listCs; string courseName = db.Course.Where(c => c.Id == courseId).FirstOrDefault().CourseName; ViewBag.courseName = courseName; //计算成绩并显示学生各个部分的 SysScore score = GetSysScore(studentId, new Guid(teacherId), courseId); //ViewData["SysScore"] = score; ScoreHelper scoreHelper = new ScoreHelper(); scoreHelper.ObjectiveScore(score, 90); List <double> listMoudule = new List <double>(); int left = listCs.Count <CouScore>(); //认为模块的成绩是顺序的,不存在跳跃式的成绩评价,只会出现123,不出现135 for (int i = 0; i <= 4; i++) { if (i >= left) { listMoudule.Add(0.0); } else if (listCs[i].ModuleTag == i + 1) { listMoudule.Add(Convert.ToDouble(listCs[i].ModuleScore)); } } double AllScore = scoreHelper.TerminateScore(listMoudule, teacherId, courseId); ViewData["AllScore"] = AllScore; return(View(score)); }