我已经做了一些C ++编程,但是我是C#的新手。

我编写了一个简单的应用程序来计算用户单击按钮的次数,然后在按钮上显示该次数。

第一次单击时,它起作用,但之后保持在1。有什么建议吗?提前致谢

public partial class Default : System.Web.UI.Page
{
    private int clickcount = 0;
    public virtual void button1Clicked (object sender, EventArgs args)
    {
        clickcount++;
        button1.Text = "You clicked me "+clickcount.ToString()+" time";
    }
    public virtual void GreetButtonClicked (object sender, EventArgs args)
    {
        GreetButton.Text = "Hello "+TextInput.Text;
    }
     }

最佳答案

每次创建页面时,您都将计数设置为零。这个:

private int clickcount = 0;


几乎与此相同:

private int clickcount;

public Default()
{
    clickcount = 0;
}


由于构造函数是在每次请求页面时都调用的,因此您始终会将值重置为零。

如何解决这个问题取决于您要计算的数量。例如,如果要计算当前会话中的点击次数,则应使用会话变量来存储计数。

我建议您阅读以下网页,以更好地了解可将状态存储在何处以及哪种存储类型最适合不同目的:


ASP.NET State Management Overview

10-04 12:07