2011-11-19 54 views
6

Resharper 6有一个非常漂亮的新功能:如果我在MVC3项目的任何位置编写RedirectToAction或Html.Action,它会加下划线,并使用Ctrl-单击我可以在那里导航。如果不存在这种行为,它也会通知我。
但是,我在我的BaseController中有一个辅助方法,它需要一个额外的参数(放入TempData),然后调用一个RedirectToAction。不幸的是,resharper不承认这些字符串作为控制器和方法名称,并没有下划线。如何利用Resharper的“导航到控制器方法”功能

我使用与MVC相同的参数命名约定,我的返回类型是相同的,但仍然没有。 MVC的方法可能被硬编码到Resharper中吗? 有没有办法让它对我的方法起作用呢?

Image included for clarity

回答

11

是的,你可以通过使用ReSharper的代码注释的属性做到这一点。

首先,转到ReSharper-> Options-> Code Annotations,将属性的实现复制到剪贴板并将它们添加到您的项目中。

然后,用必要的属性标记你方法的参数。例如,含有动作字符串的参数,用AspMvcActionAttribute标记;控制器 - 用AspMvcControllerAttribute等。

+0

迄今为止很棒。如果我有一个只接受错误字符串的重载,并且它重定向到CurrentController/Index,那么我需要向该方法添加什么来强调它呢? – TDaver

+0

用两个属性(AspMvcController和AspMvcAction)方法本身标记。 – derigel

+0

怎么样?我已经将[AspMvcAction(“Index”),AspMvcController]放在该方法的上面,现在Resharper说无法导航到ActionController,其中IssueController是我试图使用它的控制器。它应该发布/索引 – TDaver

相关问题