解决

问题描述

使用asp.net开发网站时,拖动添加控件到设计界面时,在cs代码文件中使用控件对应的id进行逻辑编码时vs提示当前上下文不存在控件xx。

经过仔细debug发现是因为该页面对应的design.cs未添加新控件的声明,自然而然就像页面的小三一样。。不能摆到明面上。。

问题发现了,一开始以为是vs的bug,重启解决方案,重启vs,甚至重启电脑,发现都无用,但是此时,我发现至始至终`design.cs文件中只有一个datalist控件是声明了的,这让我怀疑,这玩意儿怎么就能没事儿发生一样呢??

最后,我发现添加一个控件到datalist外面的区域时,design.cs添加了对应的声明!啊这,我再添加一个控件到datalist里面的区域时,果然没有添加声明,啊这,小三聚集地。。。

呸呸呸,这就是因为asp控件的嵌套问题,此时,我们尽量不要让控件进行嵌套。如果嵌套使用,可以参考使用FindControl的方法进行调用。

在这记录下尴尬的错误,希望可以帮到同样尴尬的你。