我的网页更新了服务器上的表记录。 “count”是一个int变量,用于计算测验的分数。其值正确显示在网页上,但保存在数据库中的记录显示所有记录的值“0”。
int count = 0;
protected void Button1_Click(object sender, EventArgs e)
{
count++; // for each correct answer
}
protected void submitScore_Click(object sender, EventArgs e)
{
var check = (from i in dc.QuizTakens where (i.username ==Context.User.Identity.Name && i.SubName == "Sports" && i.Lev=="Easy")select i).SingleOrDefault();
if (check == null)
{
QuizTaken q = new QuizTaken();
q.SubName = "Sports";
q.Lev = "Easy";
q.username = Context.User.Identity.Name;
q.score_max = count;
dc.QuizTakens.InsertOnSubmit(q);
dc.SubmitChanges();
}
}
该表的主键是SubName,Lev,QId。整个记录被添加到表中,但score_max的值始终为0,即使我能够在网页上显示score_max的正确值。
答案 0 :(得分:2)
根据您的展示,您的count
只是一个类字段,不受ViewState
或其他页面级存储的支持。这意味着每个页面回发都会0
,因为它将被写入db。
您需要在页面加载之间存储其值,最有可能是ViewState
。