Repeater中隐藏ImageButton

问题描述

说明:执行当前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哥都进了

时间: 2024-10-03 23:39:01

Repeater中隐藏ImageButton的相关文章

asp.net怎么取repeater中的行号

问题描述 repeater中两个"更新"按钮html的用来弹出框要来提示确定和取消的确定后触发下面一个asp按钮(隐藏的)的click事件从而更新数据.请问我如何将该行的行号传到后台?行号都取到了 解决方案 解决方案二:更新用行号?也许有时所谓的行号并非是记录的主键值.建议还是使用主键值为好.Repeater设置主键:解决方案三:放在hiddenfield里?解决方案四:直接用asp:linkbutton就可以搞定了都不要前台写提示解决方案五:<asp:LinkButtonID=

Repeater中嵌套Repeater的示例介绍

 在某些特殊情况下是需要在Repeater中嵌套使用Repeater的,下面有个不错的示例,感兴趣的朋友可以参考下 代码如下: protected void Page_Load(object sender, EventArgs e)  {  if (!Page.IsPostBack)  {  this.dtCategory = GetCategoryTable();  this.dtProduct = GetProductTable();  rptCategoryList.DataSource

在Repeater中嵌套使用Repeater

在一般的网站中浏览类别的用户控件通常都位于大多数 ASP.NET 页的左边,它使用户能够按类别快速的查找产品.最近遇到一个客户,因为在他网站上展示的产品并不多,所以要求在原有类别浏览的基础上将产品也加进去.一来更方便,二来加长了左部导航栏的长度使页面更协调.原有的分类导航栏是由Repeater实现的,现在需要在每一个分类下加入该类的商品信息,于是我想到了在原有Repeater中嵌套Repeater.实现界面如下: 前台页面部分: <asp:Repeater id="rptCategorie

简单的DataGrid、DataList、Repeater中的超链接

datagrid|链接 1.DataGrid中:<asp:HyperLinkColumn Target="_blank" DataNavigateUrlField="m_id" DataNavigateUrlFormatString="view.aspx?id={0}" DataTextField="m_title"></asp:HyperLinkColumn>2.DataList.Repeater中&

如何在DataGrid控件中隐藏列

datagrid|datagrid控件 如何在DataGrid控件中隐藏列前言:    asp.net在提供我们丰富的内置控件方便我们开发的同时,一些格式化的东西也限制了我们灵活的要求.在DataGrid控件中,我们遇到的一个非常典型的问题就是如何把我们不想显示的列根据需要随时隐藏掉.解决方案:    我们不能隐藏在DataGrid里自动生成列的主要的一点原因是:DataGrid里的column不能被DataGrid的属性DataGridColumn增加.    基于以上原因,我们可以提出两种不

ASP.NET 2.0中隐藏listbox的某一项

asp.net 在asp.net 2.0中,可以隐藏listbox中的某一项,比如ListItem item = new ListItem(text, value, enabled);当然,也可以用 item.Enabled = false; 虽然在页面中隐藏了,但依然可以用代码来访问隐藏的选项的,下面是一个例子 <%@ Page Language="C#" %> <script runat="server"> protected void

SQL Server 2008在对象资源管理器中隐藏系统对象

环境:SQLServer 2008 R2 问题:在对象资源管理器中隐藏系统对象 解决: 对象资 源管理器的"数据库"节点包含系统对象,如系统数据库.使用"工具"/"选项"页可以隐藏系统对象.某 些系统对象(如系统函数和系统数据类型)并不受此设置的影响. 在对象资源管理器中隐藏系统对象 1.在"工具"菜单上,单击"选项". 2.在"环境/常规"页上,选中"在对象资源管理器中 隐藏

在Word 2010文档中隐藏或显示图形和文本框

在Word 2010文档中,用户可以通过取消或启用"显示图形和文本框"功能,以隐藏或显示Word文档中的图形和文 本框,操作步骤如下所述: 第1步,打开Word 2010文档窗口,依次单击"文件"→"选项"按钮,如图2012011505所示. 图2012011505 单 击"选项"按钮 第2步,打开"Word选项"对话框,切换到"高级"选项卡.在"显示文档内容"区域取

MySQL在Linux系统中隐藏命令行中的密码的方法

  这篇文章主要介绍了MySQL在Linux系统中隐藏命令行中的密码的方法,作者利用简单的C程序实现,需要的朋友可以参考下 在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?,类似MySQL在ps命令下隐藏密码. 假设我这里系统里两个用户,一个是root ,一个是dabu .测试系统为centos 6.5在按照下面的步骤做: ? 1 2 3 4 [r