在OnInit里动态生成了DataGrid,并生成动态模板列CheckBox c,现要在后台取c的值,却无论如何都取不到,总是报错"未将对象引用设置到对象的实例"应该将c控件生成的代码放在何处才能被找到??下面一段是位于OnInit里的生成DataGrid中的一小段:
TemplateColumn tm=new TemplateColumn();
tm.ItemTemplate=new ColumnTemplate1();
tm.HeaderText="Choose the Targets to Bench";
DG.Columns.Add(tm);而依据是新建的一个类:public class ColumnTemplate1 : ITemplate
{
//第一个模板列
public void InstantiateIn(Control container)
{
CheckBox c=new CheckBox();
//c.ID="a";
c.DataBinding+=new EventHandler(this.OnDataBinding);
container.Controls.Add(c);
}public void OnDataBinding(object sender, EventArgs e)
{
CheckBox c=(CheckBox) sender;
DataGridItem container=(DataGridItem) c.NamingContainer;
c.Text = ((DataRowView)container.DataItem)["target"].ToString();//绑定stuname字段
}
}
100分的题目.另一处也有类似一问题分值60分.
解决者立即获分.