2016-10-10 8 views
1

i ++ 페이지를 새로 고침 할 때마다 계속 증가합니다. 버튼을 트리거 할 때만 증가해야하지만 페이지가 다시로드되는 동안 증가한다는 것을 알았습니다. 나는 !IsPostBack을했지만 여전히 문제가 발생합니다.i ++ 페이지로드 중에 계속 증가합니다.

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

어떻게 "버튼을 트리거"합니까? –

+0

@SamKuhmonen 그것을 클릭하면됩니다. –

+3

경고 : 'static int i'는 * 귀하의 사이트 방문자 모두 * 공유 *입니다. –

답변

3

페이지를 새로 고침하면 페이지가 IsPostBack이 아닙니다. Page_Load에서 cart_number();을 삭제해야합니다. Page_Load은 브라우저와 웹 서버간에 상호 작용이있을 때마다 트리거됩니다.

1

'Page_Load'에서 cart_number() 메서드 호출을 제거하십시오. 그 방법을 Page_Load에서 호출 할 필요가 없습니다. Page_Load()에서 전화하는 이유가 무엇입니까?

+0

무작위로 웹 사이트를 다시로드 할 때 lbl_cart_number가 증가하는 것을 보았 기 때문에 사용할 때 늘릴 수 있다고 생각했습니다! IsPostBack –

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

왜 그 코드를 시도해야합니까? –

+0

어쩌면이 사실 .. –

+1

더 나은 대답을 만들려면 (upvotes의 기회와 함께) 코드를 덤프하지 말고 * 당신이 변경 한 내용과 * 왜 * 당신이 그렇게했는지 설명하십시오. –

관련 문제