查找疑难杂症--于细微处见精神

程序开发中,经常会出现一些很郁闷的问题,怎么看怎么不该有错,却有偏偏有错,其实错误往往在一些不经意的角落,甚至一些你认为“不可能错”的地方。我们经常会把一些如验证信息等功能写在一个页面基类中,但是这样的页面有时候总会在PageLoad里出问题,很郁闷的问题,如转换无效之类的,如果按照头痛医头脚痛医脚的方法,查出错的语句,往往怎么查都没错,查看所有代码,你会发现都没有错。福尔摩斯说过“如果所有的其他可能都被排除,那么剩下的最后一种可能,无论多么离奇和难以置信,它都是真的”没错,查看了所有代码都没错,你还少看了哪里???对了,那些系统自动隐藏的,写着“窗体设计器生成的代码”的部分,的确是自动生成的代码错了,也许你看一眼,没错啊,平常都是这样的,都对啊。我们看看平常情况:

#region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {    
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

看不出有什么问题吧?其实这个时候是考验细心和对系统工作认识是否足够的时候。请注意这2句:

   InitializeComponent();
   base.OnInit(e);

请注意这里的base ,在平时,这个base是指向页面类的父类,即System.Web.UI.Page 那么在InitializeComponent();以后再执行OnInit,是没有问题的,不过现在页面类基类换成我们自己的页面基类,我们可能会在页面基类中执行一些操作,比如在PageLoad中~~

请注意,如果base.OnInit(e)没有在InitializeComponent()之前调用的话,所有页面基类Page_Load事件处理程序都将不会在当前页面上的Page_Load事件处理程序之前执行。这样的话,当前页面的Page_Load事件处理程序中如果用到页面基类的Page_Load事件处理程序中的实例化的类时,就会有出现问题。

错误最后找到了,恰恰是发生在“不可能错”的地方,系统自动生成的代码。

 

如果所有的其他可能都被排除,那么剩下的最后一种可能,无论多么离奇和难以置信,它都是真的

于细微处见精神

时间: 2024-09-18 11:22:13

查找疑难杂症--于细微处见精神的相关文章

细微处见成功:5个精巧的产品设计案例

编者注:本文来自在http://www.aliyun.com/zixun/aggregation/1560.html">Facebook做产品设计的妹纸Julie Zhuo,她从一个女性的角度讲述了五点她认为非常棒的细节设计,可以看的出,她关注的点与男性有很大不同,在移动互联网这个男人的天下,或许我们真应该驻足听听来自另外半边天的声音,毕竟,应用不分男女,但用户分男女,我们不能单纯的只从自己的角度想问题. 优秀的设计以各种方式存在于每个角落,除了那些广为人知的伟大设计之外,还有一些非常棒的

分类信息发展逐步完善 细微处见端倪

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 新一轮的经济危机风暴袭来之时,互联网行业多少也似乎受到了经济震荡的影响.最近,国内很多视频网站都传出裁员和缩减规模的消息,于是业界各领域的管理者和专业分析人士开始密切关注行业动态.希望能够从瞬息万变中捕获一些端倪.对与分类信息领域来讲,这次的震荡可能会是互联网发生很大的内部结构变化,分类信息网站发展也由此进入完善阶段.从一些分类信息网站的细微

《大明龙权》制作人:我们就要做民族的东西!

<大明龙权>是2009年腾讯代理运营,由上海佳游网络科技有限公司开发的一款大型多人在线角色扮演类2D网游.在这款游戏迎来二次封测之际,新浪游戏特此采访了<大明龙权>制作人:左柒右陆,请他来介绍一下这款游戏的研发理念和特色玩法.<大明龙权>制作人:左柒右陆 新浪游戏:在开发初期,是怎么想到用明朝正德年间清除阉党.抗击倭寇这样一条游戏主线的呢? 左柒右陆: 其实项目开发的初期,我们并没有一条非常明确的线,具体到阉党和倭寇,这些太具体了.事实上,我们最初的想法非常简单,作为文

凌云:移动互联网营销时代 APP更要与时俱进

中介交易 SEO诊断 淘宝客 云主机 技术大厅 一款能让用户长期留在手机桌面并频繁使用的APP产品才算得上是好产品.移动APP开发者们深谙"得用户者得天下"的道理,想要牢牢抓住用户的心,当然最重要的还是离不开那四个字:用户体验.要让一个APP拥有长久的使用价值,产品的迭代要跟上时代的迭代. 提到APP,有一些出镜率很高的词如"用户需求"."交互体验"."优质服务"."个性化"等等,APP开发者做产品也好,企

做一颗坚硬的石头——盛邦安全的价值观

9月19日, 2016年国家网络安全宣传周在江城武汉的国际会议中心拉开序幕.当天下午,宣传周重点活动--网络安全博览会也在此地面向大众开放.第二天正值安全周的教育主题日,来自各大高校.中学的数千名学生穿梭在各大展台中间,感受着网络安全与生活工作越来越紧密的联系. 在盛邦安全的展台前,数十名参展群众纷纷驻足,一边听工作人员讲解,一边参与盛邦安全的互动问答与小游戏. 为安全周点赞! "我首先要为这届国家网络安全宣传周点一个赞!" 盛邦安全副总裁严雷这么评价此次安全周.紧接着他解释道,前两届

作一颗坚硬的石头——盛邦安全的价值观

  9月19日, 2016年国家网络安全宣传周在江城武汉的国际会议中心拉开序幕.当天下午,宣传周重点活动--网络安全博览会也在此地面向大众开放.第二天正值安全周的教育主题日,来自各大高校.中学的数千名学生穿梭在各大展台中间,感受着网络安全与生活工作越来越紧密的联系. 在盛邦安全的展台前,数十名参展群众纷纷驻足,一边听工作人员讲解,一边参与盛邦安全的互动问答与小游戏.   为安全周点赞! 在展会间隙,记者采访了盛邦安全副总裁严雷.   "我首先要为这届国家网络安全宣传周点一个赞!"他兴致

站长对客户展开销售需明白的几点销售知识

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 有这样一句话,生活中人人都是销售员,只是销售的东西不同罢了.至少,我们每个人都在无时无刻的将自己推销给别人,以期望得到别人的认可.回到狭义的销售世界吧,或许我们很多站长都是做技术出身,理直气壮的说,我不懂销售,我只懂实现.不过,在现实中,这样的话可不对哦,作为一个网站的头,网站整个都要你负责,怎么能说不懂销售没关系呢,何况,一些小网站本来就没

C#、Java之比较

比较 很多人说C#是微软用来和Java抗衡的武器,因为二者在很大程度上有着惊人的相似,尽管如此,两者不同的地方也很多,所谓"于细微处见差异".那么两者的相似和区别都在什么地方呢?我们从今天开始,会从各个角度来对比C#和Java的特点,希望能对正在学习.使用C#的朋友有所帮助. 1.C#和.NET平台的概貌 2000年6月,微软发布C#语言和.NET平台.C#语言是一种强类型的,面向对象的语言,它具有语法简单.表达力强的特点,而.NET平台则是构成微软的".NET计划"

C#与Java的比较(一)

比较                      C#与Java的比较(转一)         C#是微软用来和Java抗衡的武器,因为二者在很大程度上有着惊人的相似,尽管如此,两者不同的地方也很多,所谓"于细微处见差异".那么两者的相似和区别都在什么地方呢?我们从今天开始,会从各个角度来对比C#和Java的特点,希望能对正在学习.使用C#的朋友有所帮助. 1.C#和.NET平台的概貌 2000年6月,微软发布C#语言和.NET平台.C#语言是一种强类型的,面向对象的语言,它具有语法简单