问题描述
说明:执行当前Web请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.NullReferenceException:未将对象引用设置到对象的实例。源错误:行163:{行164:行165:((ImageButton)e.Item.FindControl("ZCService")).Visible=false;行166:行167:}后台:protectedvoidRp_ItemDataBound(Objectsource,RepeaterItemEventArgse){((ImageButton)e.Item.FindControl("ImageButton1")).Visible=false;}前台:<asp:ImageButtonID="ImageButton1"CommandName="gz"CommandArgument='<%#Eval("T_UserID")%>'runat="server"ImageUrl="~/Images/gz.png"ToolTip="该用户转为暂存.."/>
解决方案
解决方案二:
在线等,急急
解决方案三:
tryit:
解决方案四:
发错了,前台也有“ZCService”,也有"ImageButton1",我确定ID没有错
解决方案五:
ItemDataBound里面改成下面的if(e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.Item){((ImageButton)e.Item.FindControl("ImageButton1")).Visible=false;}
或者foreach(RepeaterItemiteminRepeater1.Items){ImageButtonpl=(ImageButton)item.FindControl("ImageButton1");p1.Visible=false;//你的代码}
解决方案六:
在另外一个帖子回复了。一样的解决方法。先判断下是否属于内容列数据成员成员名称说明AlternatingItem交替(从零开始的偶数索引)单元格中的项。它是数据绑定的。EditItem列表控件中当前处于编辑模式的项。它是数据绑定的。Footer列表控件的页脚。它不是数据绑定的。Header列表控件的页眉。它不是数据绑定的。Item列表控件中的项。它是数据绑定的。Pager页导航,显示定位到与DataGrid控件关联的不同页的控件。它不是数据绑定的。SelectedItem列表控件中的选定项。它是数据绑定的。Separator列表控件中项之间的分隔符。它不是数据绑定的。
解决方案七:
引用4楼kongwei521的回复:
ItemDataBound里面改成下面的if(e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.Item){((ImageButton)e.Item.FindControl("ImageButton1")).Visible=false;}或者foreach(RepeaterItemiteminRepeater1.Items){ImageButtonpl=(ImageButton)item.FindControl("ImageButton1");p1.Visible=false;//你的代码}
是这样的,至少要判断一下ItemType.
解决方案八:
引用6楼sp1234的回复:
Quote: 引用4楼kongwei521的回复:
ItemDataBound里面改成下面的if(e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.Item){((ImageButton)e.Item.FindControl("ImageButton1")).Visible=false;}或者foreach(RepeaterItemiteminRepeater1.Items){ImageButtonpl=(ImageButton)item.FindControl("ImageButton1");p1.Visible=false;//你的代码}
是这样的,至少要判断一下ItemType.
6楼正解,因为整个是在整个repeater中去找的要么判断找到的行的类型,要么就判断下找到的是否为空,最好是都判断下因为前台的Id万一不小小心改变一下,也不至于程序报错ImageButtonimgBtn=e.Item.FindControl("ZCService")asImageButton;if(imgBtn!=null){imgBtn.Visible=false;}
解决方案九:
楼上大神已经回复了连P哥都进了