i ++在页面加载期间继续递增

时间:2016-10-10 07:35:07

标签: c# asp.net

每当我重新加载页面时,i ++都会继续增加。它只会在我触发按钮时递增但我发现在页面重新加载期间它也会递增。 我做了!IsPostBack,但我仍遇到问题。

  protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            cart_number();
        }
    }


    private static int i;
    private void cart_number()
    {
        lbl_cart_number.Text = i++.ToString();
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        cart_number();
    }

3 个答案:

答案 0 :(得分:3)

重新加载页面时,表示它不是IsPostBack。您应该从cart_number();中删除Page_Load。每次浏览器和网络服务器之间发生交互时,都会触发Page_Load

答案 1 :(得分:1)

从您的' Page_Load&#39>中删除cart_number()方法调用。无需在Page_Load上调用该方法。您从Page_Load()拨打电话的任何具体原因?

答案 2 :(得分:0)

试试这个:

   protected void Page_Load(object sender, EventArgs e)
   {
    if (!IsPostBack)
    {
        cart_number("1");
    }
   }


private static int i;
private void cart_number(string flag)
{
    int lbl=0;
    lbl =int.Parse(lbl_cart_number.Text);
    if(flag!="1"){
    i=lbl;
    if(i>=0){
    lbl_cart_number.Text =( i+1).ToString();
     }
    }
    else
   {
     lbl_cart_number.Text ="0";
   }
  }
  protected void Button1_Click(object sender, EventArgs e)
   {
    cart_number("2");
   }