日期:2014-05-19  浏览次数:20417 次

升级ASP2.0后出现TreeView错误将如何解决
刚把原项目升级到2.0,其他都还正常,就是以前使用的TreeView控件不能正常显示了。具体错误如下:
Compiler   Error   Message:   CS0104:   'TreeNode '   is   an   ambiguous   reference   between   'System.Web.UI.WebControls.TreeNode '   and   'Microsoft.Web.UI.WebControls.TreeNode '


请问应该怎么解决,重写代码是不可能的,维护量很大,而且用VS2005自带的TreeView控件有些属性都不对,要重写。

------解决方案--------------------
如果你还要用Microsoft.Web.UI.WebControls的这个控件,就把所有声明 TreeNode的地方写全,因为asp2.0也有个treenode的类.
------解决方案--------------------
存在二义性,你必须将TreeView有关的类型声明为Microsoft.Web.UI.WebControls下面的。

原因:在1.x时TreeView作为MS独立控件出现,所以namespace为Microsoft.Web.UI.WebControls,而到了2.0已经整合到.NET Framework中了,所以namespace改为System.Web.UI.WebControls。因为类名一样,仅仅是namespace改变了,所以会发生二义性。