我正在尝试创建一个游戏;当我单击一个按钮时,我需要使用查询字符串转到另一页,我需要知道单击了哪个按钮(Button1),以及单击了多少次(Turn)。这是我的代码:

int Turn = 0;
protected void Button1_Click(object sender, EventArgs e)
{
            string clickedButton = "Button1";
            Turn = Turn ++;
            Response.Redirect(string.Format("TheGame.aspx?button={0}&turn={1}", clickedButton , Turn));
}


但是问题是,我永远都无法改变转弯,它始终保持为0。我该怎么做?

最佳答案

这是因为每当创建新页面时,Turn都设置为0。
您应该将Turn存储在Session中,并按如下方式使用:

public int Turn
{
    get
    {
        if (Session["Turn"] == null)
            Session["Turn"]= 0;
        return (int)Session["Turn"];
    }
    set
    {
        Session["Turn"] = value;
    }
}

关于c# - 通过使用QueryString跟踪转弯,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37305634/

10-15 20:13