1

我正在从后面的代码中生成 10 个标签,当我运行页面时我可以看到它们。但是当我尝试访问 label.text 属性时它会出错。它给出了这个错误 System.NullReferenceException: Object reference not set to an instance of an object。

for (int hf = 1; hf <= dfta2.Rows.Count; hf++)
                    {
                        Label lbl = new Label();
                        lbl.ID = "labeltest" + hf;
                        lbl.Text = "1";
                        lbl.ClientIDMode = System.Web.UI.ClientIDMode.Static;                                        
                        form1.Controls.Add(lbl);
                    }
     string variable3 = "labeltest" + i;

     Label lbl2 = form1.FindControl(variable3) as Label;

     lbl2.Text = "2";

每次单击按钮时,i 都会增加 1。知道为什么它为 null 吗?

4

2 回答 2

0

您发布的代码必须放在 Page_Load 或 Page_Init 事件中并验证变量i的值。

你试一试,

i=2;
string variable3 = "labeltest" + i;
Label lbl2 = form1.FindControl(variable3) as Label;
于 2012-05-22T01:06:53.737 回答
0

确保上面代码中的变量 i == hf

于 2012-05-22T01:08:26.307 回答