C# 在回发时创建对象的问题

C# 在回发时创建对象的问题,c#,asp.net,C#,Asp.net,我在ASP.net中创建对象时遇到问题 我的页面加载功能是: public partial class hangMen : System.Web.UI.Page { abc ltr; Words word = null; static Label [] lbl = null; static Button[] btn = null; Game game; protected void Page_Load(object sender, EventArgs e) { if (Pag

我在ASP.net中创建对象时遇到问题

我的页面加载功能是:

public partial class hangMen : System.Web.UI.Page
{
abc ltr;
Words word = null;
static Label [] lbl = null;
static Button[] btn = null;
Game game;

protected void Page_Load(object sender, EventArgs e)
{

        if (Page.IsPostBack)
        {
            show_current_word();
            SetBord();

        }
        else
        {
            SetBord();
            SetWords(); 


        }

}
}
我的问题是: 我不知道该把钥匙放在哪里 游戏=新游戏()

如果我把它放在else部分,那么我会得到null引用异常。 我也不想在每个帖子后面都创建这个项目

此对象计算玩家的分数和单击“提示”并出错的次数


任何想法???

如果我理解正确,您希望通过回发保留
游戏
对象的实例

为此,我建议您使用

保存到会话:

Session["GameObj"] = game;
在下一次回发中还原它:

protected void Page_Load(object sender, EventArgs e)
{
   if (Session["GameObj"] != null)
   {
       game = (Game) Session["GameObj"];
   }
    ...

当然,还有其他选择,例如将其保存在中。您应该阅读它们,看看哪一个更适合您的需要

如果我理解正确,您希望通过回发保留
游戏
对象的实例

为此,我建议您使用

保存到会话:

Session["GameObj"] = game;
在下一次回发中还原它:

protected void Page_Load(object sender, EventArgs e)
{
   if (Session["GameObj"] != null)
   {
       game = (Game) Session["GameObj"];
   }
    ...

当然,还有其他选择,例如将其保存在中。你应该读一下,看看哪一个更适合你的需要

我已经编辑了你的标题。请看“”,其中的共识是“不,他们不应该”。我已经编辑了你的标题。请参阅“”,其中的共识是“不,他们不应该”。