确切的问题是,当我希望如下所示使用SiteMap时,我收到错误
imgBtnPrevious.PostBackUrl = SiteMap.CurrentNode != null ? (SiteMap.CurrentNode.PreviousSibling != null ? SiteMap.CurrentNode.PreviousSibling.Url : "") : "";
imgBtnNext.PostBackUrl = SiteMap.CurrentNode != null ? (SiteMap.CurrentNode.NextSibling != null ? SiteMap.CurrentNode.NextSibling.Url : "") : "";
Error ---> The type 'MySiteName.SiteMap' exists in both 'App_Web_3jyv5kio.dll' and 'App_Web_unds4iwr.dll'
如何永久解决这个问题,不应再发生这种情况。删除临时文件是一个手动解决方案,只有我认为它会解决它,它会再次出现?
更新
我认为它与asp.net服务器实例有关,我停止它然后重新启动它,但现在不同的错误 - > 'MySiteName.SiteMap'不包含'CurrentNode'的定义
答案 0 :(得分:0)
您的机器上肯定出现了问题,因为这些临时组件会自动清理(在正常情况下)。
因此,我会说你杀了那些文件就没事了。
如果问题出现,您需要跟踪发生的情况。 (快速注意:如果你在IIS中托管你的应用程序,那么很可能在那里出现问题,并且代码被重新编译,即使这个过程没有被回收,在正常情况下也不会发生这种情况。)
答案 1 :(得分:0)
我找到了有关'MySiteName.SiteMap' does not contain a definition for 'CurrentNode'
问题是该网站有一个名为SiteMap.aspx的页面,因此它的相应类正在这里被选中。因此,为了避免这种冲突,我们必须明确定义类的名称空间,以便简单地选择
System.Web.SiteMap.CurrentNode
现在这将引用网站的SiteMap