1

動的コントロールを追加しています。コントロールを動的に追加するときに、Label の値をインクリメントしたいと考えています。

コード:

private int controlCount
    {
        get
        {
            int val = 0;
            try
            {
                val = (int)ViewState["ControlCount"];
            }
            catch (Exception e)
            {
                // handle exception, if required.
            }
            return val;
        }
        set { ViewState["ControlCount"] = value; }
    }

    protected void addnewtext_Click(object sender, EventArgs e)
    {
        int i = controlCount++;
        for (int j = 0; j <= i; j++)
        {
            AddVisaControl ac = (AddVisaControl)Page.LoadControl("AddVisaControl.ascx");
            Label lb = new Label();
            string z = Convert.ToString(i + 1);
            lb.Text = "Visa " + z;
            rpt1.Controls.Add(lb);
            lb.Attributes.Add("class", "style8");
            rpt1.Controls.Add(ac);
            rpt1.Controls.Add(new LiteralControl("<BR>"));
        } 
    }

下の画像では、ラベルの値を取得しています。つまり、(Visa 3) は上書きされています。

ここに画像の説明を入力

何か案は?

4

1 に答える 1

2

あなたがしたい

string z = Convert.ToString(j + 1); 

それよりも

string z = Convert.ToString(i + 1);
于 2013-09-24T13:56:39.017 に答える