【问题标题】:How to increment values when add dynamic controls?添加动态控件时如何增加值?
【发布时间】:2013-09-24 13:53:48
【问题描述】:

我正在添加动态控件,我想在动态添加控件时增加 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)被覆盖

有什么想法吗?

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    你想要的

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

    而不是

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

    【讨论】:

    • 不用担心。为避免将来出现这种情况,如果您遇到此类问题,请尝试将它们命名为更有意义。如果它被称为 currentTotalCount 或类似的东西,它更容易注意到我在错误的地方。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    相关资源
    最近更新 更多