在数据库中,我有一个表Grade(stGrade, ndGrade, rdGrade, Avg)
。
如何在asp.net项目中计算Avg
,stGrade, ndGrade, rdGrade
可以为null。
示例,如果Grade(80, 90, null)
然后Avg
= 85.如果Grade(80, 90, 100)
则Avg
= 90。
在视图中,我的代码:
@foreach (var item in Model.Grades){
<tr>
<td>@item.stGrade</td>
<td>@item.ndGrade</td>
<th>@item.rdGrade</th>
<th>@item.Avg</th>
</tr>
}
在控制器中:
public ActionResult Result()
{
db = new GradeManagementEntities();
Student st = db.Students.Find(Session["id"].ToString());
return View(st);
}
我如何使用Average()?在课堂上,对吗?
public Nullable<double> stGrade { get; set; }
public Nullable<double> ndGrade { get; set; }
public Nullable<double> rdGrade { get; set; }
public Nullable<double> Avg{get; set;}
public virtual Student Student { get; set; }
但我不知道如何使用它。
答案 0 :(得分:0)
public ActionResult Result()
{
db = new GradeManagementEntities();
Student st = db.Students.Find(Session["id"].ToString());
foreach(var s in st)
{
int total=0,avg=0;
if(s.ndGrade != null)
{
total++;
avg+=s.ndGrade;
}
if(s.stGrade!= null)
{
total++;
avg+=s.stGrade;
}
if(s.rdGrade!= null)
{
total++;
avg+=s.stGrade;
}
if(total>0)
{
s.avg= avg/total;
}
}
return View(st);