最近在做一个项目的时候发现了一个很奇怪的问题,现在有一个页面A,因为项目的需要,我复制了页面A为:B,C,D等页面。
我然后我在A页面加入了Map控件,mapResourceManager控件,来加载显示地图,然后页面的后台代码里面来操作Map1对象,这个时候都没有问题,
但是项目也需要在其他的页面添加Map控件,然后我就在页面B上添加了Map、以及MapResourceManager控件,这个时候当我在运行程序的时候就会报错,
'_Default' does not contain a definition for 'Map1'
其中“_Default”是页面A的属性,既然B页面也是继承与A页面,那么这个属性 Inherits="_Default" 也是和随A页相同的。
此时程序就无法运行了,我们在B页面就不能用代码来控制Map1控件的属性了。
具体的原因我不明白,但是后面的解决方法是,先将B,C,D等由A叶面复制的网页删掉,然后在A叶面上把Map控件以及相关的地图控件添加到里面,然后我们在复制网页A,为B,C,D等网页,这时候我们在复制的网页的后台就可以调用这个Map对象了。因此我就想这个原因就是和Inherits属性相关的。
总结:
这个问题的原因我没有搞清楚,但是我用上面的办法解决了这个问题。
这个问题给我的提示是:如果要复制页面,一定要把一个页面做好做全,然后在开始复制。