现在的位置: 首页 > 综合 > 正文

由于未能找到具有自动生成的控件来引发回发事件,导致发生错误

2011年06月26日 ⁄ 综合 ⁄ 共 1062字 ⁄ 字号 评论关闭

错误信息:

由于未能找到具有自动生成的 id“MPH:_ctl0:CtlOrderAmendments:_ctl195:_ctl0”的控件来引发回发事件,导致发生错误。若要避免此错误,请显式设置引发回发事件的控件的 ID 属性。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: 由于未能找到具有自动生成的 id“MPH:_ctl0:CtlOrderAmendments:_ctl195:_ctl0”的控件来引发回发事件,导致发生错误。若要避免此错误,请显式设置引发回发事件的控件的 ID 属性。

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:

[HttpException (0x80004005): 由于未能找到具有自动生成的 id“MPH:_ctl0:CtlOrderAmendments:_ctl195:_ctl0”的控件来引发回发事件,导致发生错误。若要避免此错误,请显式设置引发回发事件的控件的 ID 属性。]
   System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) +853
   System.Web.UI.Page.ProcessRequestMain() +878


版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573


解决方案:经过我的仔细跟踪,终于问题解了,提示的信息一点没错,确实在这个页面当中,有一个控件没有显示置ID,才导致错误。

疑问:问题出在一个页面通用的控件上,没有显示设置ID,但为什么在其它页面中,没有出现这样的错误,唯有在这个页面里面有这样的错误,我在想是不是因为,当我回传页面的时候,会自动生成一些服务器端控件,如TEXTBOX,CHECKBOX等,而这些控件的视图信息在新加载的页面里面是没有的,所以页面在处理数据回传的时候,对这些新的控件没有可用的视图。所以才会出现错误。如果这样想的话,在其它页面也会有同样的问题,但是奇怪的是,没有。
进一步想,可能是因为,在页面初始化的时候,对每一个没有指定ID 的控件,会自动设置一个ID,所以可能在自动设置ID 的时候会现重复的ID 而导致错误!

想到这,还是很迷茫,不知到底是什么错误。。。

抱歉!评论已关闭.