Int会话变量增加?

Csh*_*ner 4 c# variables session session-variables

会话变量可以是int?我想在Session["PagesViewed"]+1;每次加载页面时递增 .我在尝试增加会话变量时遇到错误.

if (Session["PagesViewed"].ToString() == "2")
{
     Session["PagesViewed"] = 0;
}
else
{
     Session["PagesViewed"]++;
}
Run Code Online (Sandbox Code Playgroud)

Lio*_*ion 8

您需要先测试该Session变量是否存在,然后才能使用它并分配给它.

您可以按如下方式进行增量.

Session["PagesViewed"] = ((int) Session["PagesViewed"]) + 1;
Run Code Online (Sandbox Code Playgroud)

但是,如果Session["PagesViewed"]不存在,这将导致错误.null在增量之前进行快速测试应该对其进行排序.

if (Session["PagesViewed"] != null)
    Session["PagesViewed"] = ((int)Session["PagesViewed"]) + 1;
Run Code Online (Sandbox Code Playgroud)


zie*_*mer 3

Session["PagesViewed"]只会返回一个对象 - 这就是你的.ToString()调用有效的原因。您需要将其转换回 int,在那里递增它,然后将其放回会话中。