在多次继承Page类后,会以VS的设计上出错错误,这个错误是因为没有及时的初始化页面而产生的。
这个错误还会在用抽象继承Page类之后的问题上,这是一个很头疼的问题,因为我想多次继承Page类之后,再让aspx页面继承这个类。
例如:我有一个BasePage继承自Page类,然后有Page4Admin,Page4User,Page4Client都继承自BasePage,而后在aspx页面上分别继承Page4Admin,Page4Client和Page4User,而这样的做法,在第一次给aspx.cs页面添加代码的时候没有问题,但关闭VS后,再次打开页面的时候就会出现错误,说没有初始化页面。
这只是一个设计错误,不会影响程序的正常运行,因为程序在运行的时候,它一定会初始化我所设计的类。因为这并没有任何的错误,但这样的设计错误使我没有办法用设计页面了。
这个错误还出现在用抽象类继承Page类的时候。
---------------------------
Microsoft Development Environment
---------------------------
The file could not be loaded into the Web Forms designer. Please correct the following error and then try loading it again:
Type Abstract
Make sure all of the classes used in the page are built or referenced in the project. Click Help for more information.
---------------------------
OK Help
---------------------------
解决办法只有用接口了。因为只从Page类继承一次的时候页面的设计是正常的。所以,我只有让aspx页面继承自BasePage类,然后实现一个接口,这个接口来处理不同的页面类型。
虽然这不是一个好的解决办法,但总比出现上面的错误而不能设计页面来的好。当然你可以先用BasePage类来做设计工作,最后编译的时候修改代码,但这显然是一个不合理,而且容易出现错误的办法。
不知道vs.net2005里是否还有这样的错误。虽然没有用过2005,但希望有机会用的时候它不会让我失望。
文章来源:http://computer.mblogger.cn/wucountry/posts/49424.aspx