datalist 中嵌套checkboxlist,怎么绑定不上数据!!
我在使用datalist 中嵌套checkboxlist时,别的没有任何处理 <asp:datalist id= "DataList1 "
runat= "server ">
<ItemTemplate>
<table cellpadding= "0 " cellspacing= "0 ">
<tr>
<td> <%# DataBinder.Eval(Container.DataItem, "test ")%> </td>
</tr>
<tr>
<td>
<asp:CheckBoxList Runat= "server " ID= "chk "> </asp:CheckBoxList>
</td>
</tr>
</table>
</ItemTemplate>
</asp:datalist>
然后在cs中给checkboxlist添加值时,提示未将对象应用到对象实例
for(int j=1;j <3;j++)
{
((CheckBoxList)this.DataList1.FindControl( "chk ")).Items.Add(j.ToString());
}
怎么回事啊!!帮帮忙啊
------解决方案--------------------((CheckBoxList)this.DataList1.FindControl( "chk ")).Items.Add(j.ToString());
这句不是这样写的
改称这样
for (int i=0;i <this.DataList1.Items.Count;i++)
{
for(int j=1;j <3;j++)
{
(CheckBoxList)this.DataList1.Items[i].FindControl( "chk ")).Items.Add(j.ToString())
}
}
------解决方案--------------------最好是放在OnItemDataBound事件中,如果用的方法,你要主要DataList1的头和尾,因为DataList1.Items包括了头和尾,而头和尾是找不到chk的,这样试试
for (int i=0;i <this.DataList1.Items.Count;i++)
{
for(int j=1;j <3;j++)
{
if (DataList1.Items[i].ItemType == ListItemType.Item ||
DataList1.Items[i].ItemType == ListItemType.AlternatingItem)
{
(CheckBoxList)this.DataList1.Items[i].FindControl( "chk ")).Items.Add(j.ToString())
}
}
}