ShowNavigationItem'检测到标识符

本文关键字:标识符 检测 ShowNavigationItem | 更新日期: 2023-09-27 18:10:36

我有一个我的主模块使用的模块。主模块的代码是不可访问的,所以我不能干预它的结构。我添加了一个ShowNavigationItemController到我的模块,我复制我的模块到主模块的bin目录。当我运行主模块时,我得到"在Sms.Module.Controllers中检测到具有重复'ShowNavigationItem'标识符的操作"。customshownavigationcontrollersettings '和' xpand.com expressapp . security . controllers . 'ShowNavigationItemController的控制器。我怎样才能修复它,让事情正常运转呢?

ShowNavigationItem'检测到标识符

恐怕你的主模块和扩展模块不能在当前状态下共存于同一个项目中。请到https://www.devexpress.com/Support/Center/Question/Details/T191034查看完整的行为。

这里有一些针对你的情况的解决方案。

如果您或其他人可以触摸主模块代码:

  • 从扩展控制器继承你的customshownavigationcontrollersettings,这意味着你的主模块依赖于扩展。
  • 如果可能,更改主模块实现。而不是覆盖动作,处理它的事件,使用框架。GetController & lt;T>()。一旦完成,代码将不再占用"ShowNavigationItemController后代位置"。查看方法:https://www.devexpress.com/Support/Center/Question/Details/K18055

如果不能触摸主模块代码:

  • 就放一个吧。删除主模块的扩展。
  • 稍后您将赶上主模块代码,现在您需要的只是一个工作。在这种情况下,您可以禁用主模块控制器或扩展控制器,风险自负。删除单个控制器的一种方法是在模块中创建它的后代,并将后代TargetViewId设置为"none"。