事件起因:
        我最近作的一个web项目,所有的aspx页面都使用了自定义的基类,一直都运行良好,今天下午突然出问题了,编译正常,运行正常,就是想打开aspx页面编辑时,出错 “在Web窗体设计器中未能加载该文件,请更正下列错误,然后重新加载……

着手解决:
        先摆渡了一把,然后google了一下,方法找了不少,没一个管用,本来高昂的自信心受了点打击。

        于是我回过头来,把昨天正确的版本和今天的比较。因为有提示说加载基类失败,网上找的信息也大多是说和基类有关,于是我把所有修改的地方一个个注释,然后编译,然后去开
窗体设计器,终于找到原因了。居然是因为一个类变量赋初值时直接使用了webconfig的内容。
protected string XXXX = ConfigurationSettings.AppSettings[XXX_XXX].ToString();

            把赋值语句移到Load事件里就好了。

事后思考:
            为什么会这样呢?如果说有错的话,为什么编译不错,运行不错,偏偏开窗体设计器就错呢?由于没有太多时间去研究这个问题,我只能猜测,我们在用VS2003的窗体设计器编辑aspx画面时,VS2003其实已经把aspx加载了一次,但ConfigurationSettings只在运行后才加载,所以导致在开窗体设计器时提示基类初始化失败。也不知道对不对,现记下,日后再来深究^-^
posted on 2006-11-17 18:45  非我  阅读(356)  评论(0编辑  收藏  举报