private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
CheckBoxList cbl=(CheckBoxList)e.Item.FindControl("Purpose");
string [] arrs=DataBinder.Eval(e.Item.DataItem,"Purpose").ToString().Split(new char[]{','});
foreach(string s in arrs)
{
cbl.Items.FindByText(s).Selected=true;
}
}
}
我照你这样写出现:
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
这个错误提示?是什么原因啊!!
cbl.Items.FindByText(s).Selected=true;
红色显示在这句上面!!
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
CheckBoxList cbl=(CheckBoxList)e.Item.FindControl("Purpose");
string [] arrs=DataBinder.Eval(e.Item.DataItem,"Purpose").ToString().Split(new char[]{','});
foreach(string s in arrs)
{
cbl.Items.FindByText(s).Selected=true;
}
}
}
我照你这样写出现:
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
这个错误提示?是什么原因啊!!
cbl.Items.FindByText(s).Selected=true;
红色显示在这句上面!!
解决方案 »
- 在事务中插入存储过程
- C# 求 200709 到 200804 一段数 (顶者有分)
- ASP.NET转换图片格式问题(在线等)
- 参数传递过程中产生的问题?
- 请问“文件上传”怎么做?
- 高手请进:高分求解“[OleDbException (0x80004005): 未指定的错误]”?
- 一张报表中有三个从表,请问用水晶报表怎样设计?
- ajax,当我的表单中没有form元素时可以用post传数据吗?
- 工作了两三年的程序员们进来聊聊新的一年的打算吧!
- 用VS来写asp.net,把数据库访问做成一个dll,速度会不会比全部纯代码的页面快?
- 当用户关闭某页时,我想把他关闭这个页的时间记录到数据库里
- 文件下载空白页问题
Resonse.write(cbl);
能输出吗?把你前台代码也贴出来.
应该在foreach中加一个判断ListItem li = cbl.Items.FindByText(s);
if (li != null)
{
li.Selected = true;
}
而页面上只有text是aa,bb,cc的checkboxlist的选项就出现错误了
修改成if(cbl.Items.FindByText(s)!=null)cbl.Items.FindByText(s).Selected=true;
如果是按照value查找修改成if(cbl.Items.FindByText(s)!=null)cbl.Items.FindByValue(s).Selected=true;
而页面上只有text是aa,bb,cc的checkboxlist的选项就出现错误了
修改成if(cbl.Items.FindByText(s)!=null)cbl.Items.FindByText(s).Selected=true;
如果是按照value查找修改成if(cbl.Items.FindByText(s)!=null)cbl.Items.FindByValue(s).Selected=true;
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
CheckBoxList cbl=(CheckBoxList)e.Item.FindControl("Purpose");
string [] arrs=DataBinder.Eval(e.Item.DataItem,"Purpose").ToString().Split(new char[]{','});
foreach(string s in arrs)
{
if(cbl.Items.FindByText(s)!=null)cbl.Items.FindByText(s).Selected=true;
}
}
}
老大,我改成了这个样子报错是没有了,可是选项前面的勾也全部没有了??
改成FindByValue(s)试试