Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对于按钮1上的循环,单击1,int i似乎前进错误_C# - Fatal编程技术网

C# 对于按钮1上的循环,单击1,int i似乎前进错误

C# 对于按钮1上的循环,单击1,int i似乎前进错误,c#,C#,尝试获取它,以便如果您左键单击,它将填充4个文本框,然后如果您使用下拉列表并再次单击它,它将填充4个不同的文本框-必须让它一次填充总共20、4个文本框 int carpick, qty, total, i; protected void Button1_Click1(object sender, EventArgs e) { for (i = 0; i != 5; ++i) { carpick = 0; qty =

尝试获取它,以便如果您左键单击,它将填充4个文本框,然后如果您使用下拉列表并再次单击它,它将填充4个不同的文本框-必须让它一次填充总共20、4个文本框

    int carpick, qty, total, i;

    protected void Button1_Click1(object sender, EventArgs e)
    {
        for (i = 0; i != 5; ++i)
        {
            carpick = 0; qty = 0; total = 0;
            {

                carpick = Convert.ToInt32(CarpickDD.SelectedItem.Value);
                qty = Convert.ToInt32(QTYDD.SelectedItem.Value);
                total = ((carpick * qty) + (750 * qty));

                Label1.Text = CarpickDD.SelectedItem.Text;
                Label2.Text = CarpickDD.SelectedItem.Value;
                Label3.Text = QTYDD.SelectedItem.Value;
                Label4.Text = Convert.ToString(total);}

        if (i != 1)
        {

            carpick = Convert.ToInt32(CarpickDD.SelectedItem.Value);
            qty = Convert.ToInt32(QTYDD.SelectedItem.Value);
            total = ((carpick * qty) + (750 * qty));
            Label5.Text = CarpickDD.SelectedItem.Text;
            Label6.Text = CarpickDD.SelectedItem.Value;
            Label7.Text = QTYDD.SelectedItem.Value;
            Label8.Text = Convert.ToString(total);
       }

        }
    }

在此处输入代码

每次单击按钮时,for循环从i=0开始。因此,您没有维护从每次调用到下一次调用的任何状态;您的按钮不“记得”您以前单击它的频率

也就是说,除了if i!=1.换句话说,您的循环当前在每次单击按钮时都执行相同的操作,并且在每次单击时执行相同的操作五次。如果您想在第二次点击按钮时填写不同的文本框,那么第二次点击按钮时肯定会有不同的操作?

我想您需要这样:

int carpick, qty, total, i = 0;

protected void Button1_Click1(object sender, EventArgs e)
{
    carpick = Convert.ToInt32(CarpickDD.SelectedItem.Value);
    qty = Convert.ToInt32(QTYDD.SelectedItem.Value);
    total = ((carpick * qty) + (750 * qty));

    switch (i++)
    {
        case 0:
            Label1.Text = CarpickDD.SelectedItem.Text;
            Label2.Text = CarpickDD.SelectedItem.Value;
            Label3.Text = QTYDD.SelectedItem.Value;
            Label4.Text = Convert.ToString(total);
            break;

        case 1:
            Label5.Text = CarpickDD.SelectedItem.Text;
            Label6.Text = CarpickDD.SelectedItem.Value;
            Label7.Text = QTYDD.SelectedItem.Value;
            Label8.Text = Convert.ToString(total);
            break;

        case 2:
            ..... etc ....
    }
}

好的,我明白你的意思,但是有没有办法让它向前发展呢?我真的是一个新手,不知道这是什么接近我想要的-我唯一没有得到的是,当我调试它时,我希望它以多行结束-它看起来就像当我点击按钮,它只是重新加载页面,不保留以前的标签