在ASP.NET页面中保存变量

Or *_*lel 2 asp.net variables session

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

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

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

Xav*_*nas 5

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

ViewState["MyValue"] = 3;
...
int myValue = (int)ViewState["MyValue"];
Run Code Online (Sandbox Code Playgroud)

如果您已经拥有了一个属性,那么您可以使用它ViewState来保存该值,例如:

private int MyValue
{
    set { ViewState["MyValue"] = value; }
    get { return (int)ViewState["MyValue"]; }
}
Run Code Online (Sandbox Code Playgroud)

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

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

  1. ViewState加密
  2. 将ViewState存储在服务器内存中