0

ボタンがクリックされるたびに整数をインクリメントしようとしています。viewstate を使用して int に値を割り当てていますが、機能しません。ここに私のコードサンプルがあります

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

問題は、最初のクリックで番号が 1 ずつ増加することですが、次のクリックでは何も起こりません..

4

2 に答える 2

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

これはうまくいくと思います。

于 2013-06-13T14:25:05.347 に答える
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; 
    }
}
于 2013-06-13T14:31:29.250 に答える