0

我的网页更新了服务器上的表格记录。"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 的正确值。

4

1 回答 1

2

从您所展示的内容来看,您count只是一个类字段,不受ViewState其他页面级存储的支持。这意味着它将0在每个页面回发上,并且将被写入 db。

您需要在页面加载之间存储它的值,很可能是在ViewState.

于 2012-08-02T14:10:53.550 回答