动态控制空参考错误
本文关键字:错误 参考 动态控制 | 更新日期: 2023-09-27 18:10:13
我正在尝试创建由数据库字段确定的动态控件,当控件实际出现时,它们抛出空引用错误。
在这段代码的最后一行抛出错误。我可以看到数组被实例化为类型textbox,但是[0]位置(以及所有后续)都是空的。我错过了什么?
var query = from a in com.Communications
where a.fddkey == res.FDDKey
select a;
var querydd = from b in com.Communications
select b.subject;
int maxrows = query.Count();
TextBox[] notestb = new TextBox[maxrows * 2];
DropDownList[] notesdd = new DropDownList[maxrows];
int i = 0;
foreach (var s in query)
{
TableRow tr = new TableRow();
tr.Cells.Add(new TableCell());
tr.Cells.Add(new TableCell());
tr.Cells[0].Text = "Date:";
tr.Cells[1].Text = "Correspondent:";
this.tblnotes.Rows.Add(tr);
TableRow tr2 = new TableRow(); // Not sure if new row needs to be instantiated or not.
tr2.Cells.Add(new TableCell());
tr2.Cells.Add(new TableCell());
notestb[i].ID = "notestb" + i.ToString();
数组notestb
本身不是null,但是您没有在其中实例化任何元素,这就是为什么它们都是null的原因。
notestb[i] = new TextBox();
notestb[i].ID = "notestb" + i.ToString();
您没有实例化notestb
元素:
TextBox[] notestb = new TextBox[maxrows * 2];
foreach(var t in notestb )
t = new TextBox();