C# ViewState变量不存在

C# ViewState变量不存在,c#,asp.net,viewstate,C#,Asp.net,Viewstate,我试图跟踪一些值,这些值随着数据库中的新记录而递增。但是,当页面重新加载时,这些值不会粘住 这是我正在尝试使用的属性(只是我检索到的所有记录的计数): 我试着这样展示它: protected void Page_Load(object sender, EventArgs e) { string output = "Last Time: " + last + ", this time: " + DbData.Count; last = DbData.Count; Respo

我试图跟踪一些值,这些值随着数据库中的新记录而递增。但是,当页面重新加载时,这些值不会粘住

这是我正在尝试使用的属性(只是我检索到的所有记录的计数):

我试着这样展示它:

protected void Page_Load(object sender, EventArgs e)
{
    string output = "Last Time: " + last + ", this time: " + DbData.Count;
    last = DbData.Count;
    Response.Write(output);
}
不幸的是,每次的输出类似于:
上次:0,这次:232253

我已在IIS上运行此网站,并已检查以确保视图状态已启用:



我不知道还有什么好尝试的,有人能提出解决方案吗?

我不熟悉
FusionCharts
。但是,ViewState仅适用于当前页面的生命周期

您可能希望尝试SessionState,它在页面之间持久化数据

public int last
{
    get 
    { 
        if (Session["last"] != null) 
            return (int)Session["last"]; 
        return 0;
    }
    set { Session["last"] = value; }
}

我想在我第一次使用
last
后,您需要在(字符串输出)之前更改(字符串输出)和(last=DbData.Count;)行顺序(last=DbData.Count;),然后在下一行更新它。即使这些行是向后的,我仍然会在我的输出中看到除
0
之外的其他内容。您如何重新加载页面?我正在使用
FusionCharts
构建图表,并且有一个
refreshInterval
每隔
x
秒调用此代码。每次发生这种情况时,我都会提供一个递增的值,这很有效。
Session
ViewState
变量之间的唯一区别是它们的生命周期吗?在初始页面加载时,ViewState始终为null。另一方面,SessionState维护以前保存的数据。我猜在您的案例中,FusionCharts请求信息作为新页面(而不是回发),因为结果ViewState为0。你可以读更多
public int last
{
    get 
    { 
        if (Session["last"] != null) 
            return (int)Session["last"]; 
        return 0;
    }
    set { Session["last"] = value; }
}