无法将类型为“System.Web.UI.LiteralControl”的对象强制转换为类型

 

使用GridView的时候,相信很多朋友都遇到过“无法将类型为“System.Web.UI.LiteralControl”的对象强制转换为...类型”

在一次项目中我在TemplateField列中加入一个imagebutton控件,在RowDataBound事件中使用(( System.Web.UI.WebControls.ImageButton)e.Row.Cells[2].Controls[0]).Style.Add("FILTER", "gray");

结果编译时 报上述错误

后改成:((System.Web.UI.WebControls.ImageButton)e.Row.Cells[2].FindControl("btnLocat")).Style.Add("FILTER", "gray");编译通过!

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


 1         protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
2 {
3 if (e.Row.RowType == DataControlRowType.DataRow)
4 {
5 if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
6 {
7 ((LinkButton )e.Row.Cells[10].FindControl ("LinkButton3")).Attributes.Add("onclick", "javascript:return confirm('你确认要删除作物:" + e.Row.Cells[1].Text + "的相关信息吗?')");
8 }
9 }
10 }

这里的区别是:Controls[0]和FindControl(id) 。.NET智能提示:

Controls[0]为System.Web.UI.ControlCollection 类,是UI层次结构中服务器控件的子控件。

FindControl()的功能是在当前命名容器中搜索指定ID的服务器控件。

这样就非常清楚了两者的作用,因为TemplateField中添加的控件是GridView这个容器中的控件而非子控件,而buttonfield则是属于子控件。但是当buttonfield强制转换为TemplateField列后就不再是子控件了。

最新文章

  1. 【6年开源路】FineUI家族今日全部更新(FineUI + FineUI3to4 + FineUI.Design + AppBox)!
  2. 使用CSS隐藏HTML元素的4种常用方法
  3. js 对闭包的理解
  4. table中设置border的问题
  5. Linux system log avahi-daemon[3733]: Invalid query packet
  6. swift 创建单例模式
  7. Visual Studio 启动修复命令
  8. HTML、html
  9. idea 文件名乱码问题的解决
  10. [wikioi]传纸条
  11. VS2013服务器资源管理器添加Mysql数据源
  12. 自行搭建私有云ownCloud,启用SSL,其他配置
  13. hdu 3974 线段树 将树弄到区间上
  14. Tomcat访问路径去掉发布项目的项目名称
  15. Flask 系列之 Migration
  16. 菜鸡学C语言之寻根溯源
  17. 通过设置ie的通过跨域访问数据源,来访问本地服务
  18. Codeforces 797B - Odd sum
  19. Java编程的逻辑 (47) - 堆和PriorityQueue的应用
  20. java 内存分析之堆栈空间

热门文章

  1. Unity 获取后缀名
  2. 简易舰c远征计时器(HTML)
  3. k8s_使用k8s部署博客系统-PV PVC(二)
  4. 必备技能,MySQL 查找并删除重复行
  5. Unity 凹多边形三角剖分
  6. Filter Pattern 2 (dubbo的实现方式)
  7. Java基于ssm师生实验课-实验室-实验设备预约系统源码
  8. pypi镜像-清华
  9. net6 - System.ComponentModel.DataAnnotations Attribute
  10. 实时搜索引擎Elasticsearch