2013-06-13 4 views
0

모든 버튼을 클릭 할 때마다 정수를 증가 시키려고합니다. viewstate를 사용하여 int에 값을 할당하고 있지만 작동하지 않습니다. 여기에 내 코드 샘플버튼 클릭에 대한 증가 int C# asp.net

public int par 
{ 
    get 
    { 
     if (ViewState["par"] == null) 
     { 
      ViewState["par"] = 2; 
     } 
     return (int)ViewState["par"]; 
    } 

    set 
    { 
     ViewState["par"] = value; 
    } 
} 

버튼 클릭 이벤트 :

protected void LoadMore_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     this.par = this.par + 1; 
     loadNews(Convert.ToInt32(this.par)); 

    } 

    catch (Exception ex) 
    { 

     Response.Write(ex); 
    } 
} 

문제는 클릭에 숫자가 하나씩 증가한다는 것입니다, 그러나 아무 일도 일어나지 않는다 다음 클릭에 ..

+2

"doesnt work"정보가 충분하지 않습니다. – asawyer

+0

니스, 질문은 무엇입니까? –

+2

응용 프로그램에 대한 viewstate가 활성화되어 있습니까? – Servy

답변

0
int number= 0; 
protected void btnIncrement_Click(object sender, EventArgs e) 
{ 
    number++; 
    ViewState["number"] = Convert.ToInt32(ViewState["number"]) + number; 
    lblShow.Text = ViewState["number"].ToString(); 
} 

나는 이것이 작동 할 것 같아.

+0

이 코드는 OP 코드와 다른 점은 무엇입니까? 코드는 속성에 뷰 상태 액세스를 래핑합니다 (내 생각에하는 것보다 낫다)? – Servy

+0

클래스 레벨 필드는'+1;'이라고 쓰는 이상한 방법입니다. – asawyer

0
private int number = 0; 
public int par 
{ 
    get 
    { 
     return number; 
    } 
    set 
    { 
     number = value; 
    } 
} 

protected void LoadMore_Click(object sender, EventArgs e) 
{ 
    number++; 
    lblShow.Text = par.ToString(); 

    try 
    { 
     loadNews(par); 
    } 
    catch(Exception ex) 
    { 
     lblShow.Text += ex.Message; 
    } 
} 
+1

이것은 항상 증가가 아니라 1을 반환합니다. –

+0

나는 'Click' 이벤트가 증가해야한다고 생각 했나요? –

+0

@JPHellemons이 질문은 Asp.Net의 컨텍스트에서 묻습니다. 로컬 클래스 필드는 클릭 이벤트에서 지속되지 않습니다. – asawyer

관련 문제