2012-12-07 30 views
2

我有一個禁用的文本框,它的值只會在按鈕被單擊後遞增1,問題是它從1到2,多數民衆贊成它。我希望它每次按下按鈕都會增加。增加文本框中的整型值

namespace StudentSurveySystem 
{ 
    public partial class AddQuestions : System.Web.UI.Page 
    { 
     int num = 1; 

     protected void Page_Load(object sender, EventArgs e) 
     { 

      QnoTextBox.Text = num.ToString(); 

     } 

     protected void ASPxButton1_Click(object sender, EventArgs e) 
     { 
      num += 1; 
      QnoTextBox.Text = num.ToString(); 
     } 
    } 
} 

回答

8

Postback intializes the variable num to 1 again和你沒有得到預期的結果increamented,你最好,文本框的值和值存儲在ViewState

protected void ASPxButton1_Click(object sender, EventArgs e) 
{ 
    num = int.Parse(QnoTextBox.Text); 
    num++; 
    QnoTextBox.Text = num.ToString(); 
} 

使用ViewState的

public partial class AddQuestions : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

     if(!Page.IsPostBack) 
      ViewState["Num"] = "1"; 

    } 

    protected void ASPxButton1_Click(object sender, EventArgs e) 
    {   
     QnoTextBox.Text = ViewState["Num"].ToString(); 
     int num = int.Parse(ViewState["Num"].ToString()); 
     ViewState["Num"] = num++; 
    } 
} 
+0

我只是說如果(!的IsPostBack)頁面加載和它的工作。謝謝:) – BasharKH

+0

不客氣。 – Adil