2010-09-20 65 views
-1

试图得到它,所以如果你离开点击,它会填写4个文本框,然后如果你使用下拉列表并再次点击它,它会填充在4个不同的文本框中 - 必须一次填充20个,4个。C#for循环on button1_click1,int我似乎前进错了

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); 
     } 

     } 
    } 

enter code here

回答

2

每次单击该按钮,您for循环开始于i = 0。因此,从每次调用到下一次调用都没有保持任何状态;你的按钮不会“记住”你之前点击它的频率。

也就是说,你也不会使的任何使用变量i在循环内部(除了if (i != 1))。换句话说,你的循环目前在每个按钮点击上做同样的事情,它确实同样的事情每次点击五次。如果你想在第二次点击按钮时填写不同的文本框,那么第二次肯定会做一些不同的事情?

+0

好吧,我明白你说的话 - 但有没有办法让它前进?我真的很陌生,并且知道的不多 – estoy0no 2010-09-20 04:45:57

0

我想你想要这样的:

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 .... 
    } 
} 
+0

这与我想要的很接近 - 当我调试它时,我得不到的唯一东西是我希望它最终有多行 - 它看起来像当我点击按钮,它只是重新加载页面,并没有保留以前的标签 – estoy0no 2010-09-20 05:03:27