这个是一个常见错误

解决办法:

你放在OnItemDataBound中处理,并且判断ItemType为EDIT的时候才做就可以实现你的目标了

原因:

在Edit这个事件中,EditItemTemplate里的控件其实还没建立

他的前提条件是要数据绑定以后,并且要通过OnEditCommand事件才后才能被建立,这也就是为什么Update事件又可以如常操作的原因了

类似的代码如这样

private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
        {
            ListItemType itemtype = e.Item.ItemType;

            if (itemtype == ListItemType.EditItem)
            {
                CheckBoxList chk = (CheckBoxList)e.Item.FindControl("chkClientType");

这个就可以达到你的要求了,这个也应该是一个比较标准且完美的处理方式。

关于这个问题,我的朋友飞刀他有另外的一些解决方法,下面我引用他的文章,也可以给你做个参考

(2)FindControl方法的问题

问题:

大家都知道所有控件集合都存在有一个FindControl方法,一般最常用的地方就是DataGrid对Item中控件的操作。这是一个很好用的方法,可以让我们迅速地找到我们想要的控件,但是他也是我遇到过的最不稳定的方法。

在Item中使用这个方法,一般不会出现什么问题,但是在DataGrid、DataList的各种事件中这个方法经常是找不到控件!!DataGrid还好一点,DataList的事件中发生的情况就惨不忍睹,100%的找不到控件!!这个控件是活生生存在的,使用Controls集合中是可以发现这个控件的。这个问题我在Beta2下就已经发现了,原以为微软会在正式版本中更正,不知道是没有人提出呢?还是没有发现,正式版中依然这样。

开始我以为FindControl这个方法没有写好,我就自个重写了这个方法,但是当我高兴地去用我自个写的方法时,发现传回来的值还是null!!!现在也就只有一个解释了,那就是.Net环境中对Control类型的支持还是不稳定的。

解决方法:

即然通过编写方法传回值的方法搞不定,那么就只有用最原始的方法,在本函数内,直接列举Controls集合中的控件,直到找到这个控件为止。

private void ShowQuestion_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e)
{
//当返回值为Control类型,经常出现空值

foreach(Control cl in e.Item.Controls)
{
     if(cl.ClientID.IndexOf("OptionalTd1") != -1 || cl.ClientID.IndexOf("OptionalTd2") != -1)
     {
        foreach(Control clx in cl.Controls)
         {
            if(clx.ClientID.IndexOf("Oplbl1") != -1 || clx.ClientID.IndexOf("Oplbl2") != -1)
             {
                 if(((Label)clx).Text == "")
                {
                    ((HtmlTableCell)cl).InnerHtml = "";
                }
            }
         }
      }
}

希望能对你有所帮助

时间: 2024-09-08 12:40:41

这个是一个常见错误的相关文章

efang4.0 易方4.1的一个常见错误_win服务器

错误 Server 对象 错误 'ASP 0177 : 800401f3' Server.CreateObject 失败 /config.inc,行 14 原因: 如果懂的程序的朋友,看下config.inc的第14行应该是这样的:set efang = Server.CreateObject("Efang41.Common") 就是efang41.dll这个组件未注册或是丢失导致的:\r 解决方法:\r 重新把组件copy个到%systemroot%/system32 :在"

WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭

原文:WCF项目中出现常见错误的解决方法:基础连接已经关闭: 连接被意外关闭 在我们开发WCF项目的时候,常常会碰到一些莫名其妙的错误,有时候如果根据它的错误提示信息,一般很难定位到具体的问题所在,而由于WCF服务的特殊性,调试起来也不是那么方便,因此往往会花费不少时间来进行跟踪处理.本文介绍我在我在我的框架里面使用WCF服务的时候,出现的一个常见错误的处理方法,它的提示信息是:基础连接已经关闭: 连接被意外关闭.这种情况我碰到的有两种,一种是返回DataTable的时候出现的,一种是返回实体类

细数云计算应用程序部署中的常见错误

当很多企业在云计算中部署应用程序时,他们通常会犯下一些常见的错误.其中,最明显的常见错误通常集中于应用程序性能.应用程序安全性以及监控虚拟环境的工具.当然,也有一些其他的常见错误. 与在http://www.aliyun.com/zixun/aggregation/14039.html">私有云计算中部署应用程序相关的错误比在公共云计算中部署应用程序所面临的挑战更具紧迫性.IT企业负责管理私有云计算的实施工作,而如今的企业则更侧重于私有云计算而不是公共云计算. 企业不能完成必要的前期规划以

【MySQL】常见错误与常用命令的集锦

[背景介绍]     在使用SQL Server数据库期间,想必大家一定都有过解决各种问题的经历了,很多时候,都会在大家的博客中看到问题与解决方案.现在开发使用的是MySQL数据库,现在来看,发现自己在MySQL中的经历越来越多.前两天,自己电脑的MySQL数据库出问题了,折腾了我好几个小时~~     这篇博客就将把之前遇到的和这次遇到的错误记录下来,以后也可以更好更快的找到解决办法吧. [常见错误] (1) windows mysql提示:1045 access denied for use

10个DIV+CSS常见错误

10个DIV+CSS常见错误,出了问题可以来参考下,是否您也犯了以下错误呢? 1. 检查HTML元素是否有拼写错误.是否忘记结束标记     即使是老手也经常会弄错div的嵌套关系.可以用dreamweaver的验证功能检查一下有无错误.     2. 检查CSS是否正确     检查一下有无拼写错误.是否忘记结尾的 } 等.可以利用CleanCSS来检查 CSS的拼写错误.CleanCSS本是为CSS减肥的工具,但也能检查出拼写错误.     3. 确定错误发生的位置     假如错误影响了整

Xhtml第12天:校验及常见错误

xhtml|错误 辛苦了好多天,我们努力学习使用xhtml+css来重新设计我们的网站.那么我们如何知道自己制作的页面真的符合web标准?w3c和一些志愿者网站提供了在线校验程序,来帮助我们检查页面是否符合标准,并提供了修正错误的帮助信息.这些校验非常有用,是我调试页面第一步要做的事情. 1.xhtml校验 校验网址:http://validator.w3.org/ 校验方式:网址校验.文件上传校验 校验成功,会显示"this page is valid xhtml 1.0 transition

Web标准建站校验和常见错误

web|web标准|错误 我们使用XHTML+CSS来重新设计我们的网站,如何知道自己制作的页面真的符合web标准?W3C和一些志愿者网站提供了在线校验程序,来帮助我们检查页面是否符合标准,并提供了修正错误的帮助信息.这些校验非常有用,是我调试页面第一步要做的事情. 1.XHTML校验 校验网址:http://validator.w3.org/ 校验方式:网址校验.文件上传校验 校验成功,会显示"This Page Is Valid XHTML 1.0 Transitional!".

网页设计中META标签写法的常见错误及后果

错误|设计|网页|网页设计 网页设计中META标签写法的常见错误及后果[摘要]:网页设计中META标签描述和关键词写法的常见错误包括:整个网站所有的网页使用同样的META标签内容,META标签中网页介绍信息与网站内容缺少相关性等.本文归纳了网页设计中META标签写法的常见错误,并分析了出现不合理的META标签设计的可能后果. 网页设计中META标签写法的常见错误及后果 搜索引擎优化通常会涉及到网页META标签的话题,META标签内容写作的是网络营销导向网站建设中网页设计的基本工作内容之一,在网络

使用Web标准建站第12天:校验及常见错误

web|web标准|错误 辛苦了好多天,我们努力学习使用XHTML+CSS来重新设计我们的网站.那么我们如何知道自己制作的页面真的符合web标准?W3C和一些志愿者网站提供了在线校验程序,来帮助我们检查页面是否符合标准,并提供了修正错误的帮助信息.这些校验非常有用,是我调试页面第一步要做的事情. 1.XHTML校验 校验网址:http://validator.w3.org/ 校验方式:网址校验.文件上传校验 校验成功,会显示"This Page Is Valid XHTML 1.0 Transi