i++在页面加载期间保持递增

本文关键字:加载 i++ | 更新日期: 2023-09-27 18:12:22

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

i++在页面加载期间保持递增

当您重新加载页面时,这意味着它不是IsPostBack。你应该从你的Page_Load中去掉cart_number();Page_Load将在每次浏览器和web服务器之间有交互时触发。

从'Page_Load'中删除cart_number()方法调用。不需要在Page_Load上调用该方法。为什么要从Page_Load()调用呢?

试试这个:

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