2017-11-25 85 views
1

我有以下代码按钮计数器不会增加。但是,到目前为止,它只计算第一次点击,而不是其他任何后续事件,所以它总是停留在1.外部,我已经声明并将其初始值设置为0.问题在哪里? (我使用Visual Studio 2015年)C#点击时不止一次

编辑:这是整个代码:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class Statistics : System.Web.UI.Page 
{ 
    int count1 = 0, count2 = 0; 
    string minima = "Καλησπέρα"; 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!Page.IsPostBack) 
     { 
      TextBox1.Text = minima; 
      Label1.Text = "Αυτή την στιγμή χρησιμοποιούν τον ιστότοπο " + Convert.ToString(Application["UserCount"]) + " χρήστες"; 

     } 

    } 

    protected void Button1_Click(object sender, EventArgs e) 
    { 
     TextBox2.Text = TextBox1.Text; 
     count1++; 
     Label2.Text = "Κλικ από προηγούμενους χρήστες: " + Convert.ToString(count1); 
     Label3.Text = "Τρέχοντα κλικ: " + Convert.ToString(count1 + count2); 
    } 
} 

(是的,我知道COUNT2是不是在任何时候改变其值,代码仍在进行中有关,如它的存在的另一个原因是让我们忽略了它)

+0

的问题不在此功能。显示与计数器相关的其他代码 –

+0

向我们展示如何以及在何处定义它,初始化它以及变量经历什么过程。当你定义一个空的int属性时,默认值是0,所以当你第一次点击它时,它会增加1.因此这意味着你可能会初始化属性错误。 – Adriani6

+0

如果应用程序不在ViewState中,那么应该将计数存储在某个位置,或者在Session中存储计数或永久存储,如文件或数据库。每次加载页面时,您拥有的代码都会运行,因此每次调用时都会重置为0。 – rene

回答

-1

你的柜台正在重置每回传 试试这个

static int count1,count2; 

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { 
     TextBox1.Text = minima; 
     Label1.Text = "Αυτή την στιγμή χρησιμοποιούν τον ιστότοπο " + Convert.ToString(Application["UserCount"]) + " χρήστες"; 
     count1 = 0; 
     count2 = 0; 
    } 
} 
+0

工作!非常感谢您 – Konstantina

+3

如果您有多个访问者访问该网站,它将无法按照您的预期工作。尝试在浏览器中打开两个选项卡并尝试执行该程序。 –