在ASP.NET页面中保存变量

时间:2010-12-25 14:40:34

标签: asp.net session variables

我正在尝试将我制作的游戏(WindowsFormApplication)转换为ASP.NET页面。

我的问题是我的WindowFormApplication中有很多“私有”变量,这些变量对游戏很重要。但是当我声明所有变量(在我的Page_Load中)之后,无论我做什么,它们都会变为null(单击按钮,刷新页面)。

无论如何都要在按钮之间保存我的变量(除了Session之外,因为我必须创建6个以上的会话)

1 个答案:

答案 0 :(得分:5)

您需要将变量保存在ViewState对象中:

ViewState["MyValue"] = 3;
...
int myValue = (int)ViewState["MyValue"];

如果您已有财产,则可以使用ViewState保留该值,例如:

private int MyValue
{
    set { ViewState["MyValue"] = value; }
    get { return (int)ViewState["MyValue"]; }
}

如果您的价值需要在整个应用程序中可用(但特定于当前用户),则可以使用Session代替ViewState

如果您担心人们会搞乱ViewState,那么这里有两个选择:

  1. ViewState encryption
  2. Storing the ViewState in the server memory