我在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();
}
}
}
我的问题是: 我不知道我应该把它放在哪里 game = new Game();
如果我把它放在else部分,所以我得到null引用异常。 而且我也不想在每个回发后创建这个对象。
此对象计算玩家得分和点击“提示”并出错的次数
任何想法??
答案 0 :(得分:4)
如果我理解正确,您希望通过回发保留Game
对象的实例...
为此,我建议您使用Session object
保存到会话:
Session["GameObj"] = game;
在下一次回发中恢复:
protected void Page_Load(object sender, EventArgs e)
{
if (Session["GameObj"] != null)
{
game = (Game) Session["GameObj"];
}
...
当然还有其他选项,例如将其保存在ViewState中。您应该阅读它们,看看哪一个更适合您的需求