C#,计算投诉流程的迭代次数

时间:2014-03-27 10:13:46

标签: c# iteration counting

我必须创建一个程序,处理投诉我必须跟踪我完成这个过程的次数,这意味着当我返回到过程中的第一个表单时,我将需要一个计数增加,但是当数字总是重置时第一个表格打开

runNum设置为public int这是我自动输入数据的代码,然后在打开下一个表单之前增加runmber:

        private void autoFill()
        {
            TitlePage titlepage = new TitlePage();

            if (titlepage.getRun() == true)
            {
                int priority = runNum % 4;

                if (priority == 0)
                         priority = 2;

                txtDate.Text = DateTime.Today.ToString("dd/MM/yyyy");
                txtRef.Text = (100 + runNum).ToString();
                txtPriority.Text = priority.ToString();
                txtCustName.Text = firstNames[runNum] + " " + secondNames[runNum];
                txtCustAddress.Text = (runNum + 5).ToString() + " " + Address1[runNum] + " " + Address2[(runNum % 7)];
                txtCustEmail.Text = firstNames[runNum] + secondNames[runNum] + "@" + ISP[(runNum % 10)] + "." + Suff[(runNum % 10)];
                txtCustTel.Text = TelNo[runNum];               

                //TBD- fill this in with actual data  

                rtbComplaint.Text = "Complaint type,                         Sevarity,                         soultion exsiting,                         employee who dealt with complaint,                           Date";

                rtbComplaint.Enabled = false;
                txtPriority.Enabled = false;
                txtDate.Enabled = false;
                txtRef.Enabled = false;
                txtCustName.Enabled = false;
                txtCustName.Enabled = false;
                txtCustEmail.Enabled = false;
                txtCustAddress.Enabled = false;
                txtCustTel.Enabled = false;


                if (runNum % 2 == 0)
                {
                    rdoNo.Checked = true;
       enter code here         }
                else
                {
                    rdoYes.Checked = true;
                }



                getTimer();
                runNum++;
            }
        }

2 个答案:

答案 0 :(得分:4)

在这种情况下,将始终重置public int。如果要全局访问变量,则应在父页面上声明静态int。但是要避免全局变量。而是尝试将迭代保存在一个中心点,例如数据库或文件,您可以从中检索值,甚至可以使用服务器缓存对象,您可以更新并从中再次获取值。

答案 1 :(得分:0)

我会使用静态变量,但请注意,如果重新启动appdomain或重新编译网页类,即使是静态变量也可以重置。

Lifetime of ASP.NET Static Variable

编辑:对不起,我认为这个问题是针对asp.net应用程序的。是不是这样?

如果它是一个正常的窗体,那么你需要将它存储在某个服务器端,无论是DB,服务器上的共享文件还是类似的东西