Asp.net mvc 如何利用Resharper';s";导航到“控制器方法”;特征

Asp.net mvc 如何利用Resharper';s";导航到“控制器方法”;特征,asp.net-mvc,controller,resharper,redirecttoaction,Asp.net Mvc,Controller,Resharper,Redirecttoaction,Resharper 6有一个非常好的新特性:如果我在MVC3项目中的任何地方编写RedirectToAction或Html.Action,它都会带下划线,使用ctrl-click可以导航到那里。如果不存在此类操作,它还会通知我。 然而我的BaseController中有一个helper方法,它接受一个附加参数(放入TempData),然后调用RedirectToAction。不幸的是,Resharper不承认这些字符串是控制器和方法名,也不加下划线 我使用与MVC相同的参数命名约定,我的返回类型

Resharper 6有一个非常好的新特性:如果我在MVC3项目中的任何地方编写RedirectToAction或Html.Action,它都会带下划线,使用ctrl-click可以导航到那里。如果不存在此类操作,它还会通知我。
然而我的BaseController中有一个helper方法,它接受一个附加参数(放入TempData),然后调用RedirectToAction。不幸的是,Resharper不承认这些字符串是控制器和方法名,也不加下划线

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


是的,可以通过使用ReSharper的代码注释属性来完成

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


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

到目前为止非常好。如果我有一个只接受errorstring的重载,并且它重定向到CurrentController/Index,那么我需要向该方法添加什么来给它加下划线呢?用两个属性(AspMvcController和AspMvcAction)标记方法本身。如何?我已经将[AspMvcAction(“Index”),AspMvcController]放在方法上方,现在Resharper说无法导航到操作“IssueController”,其中IssueController是我试图使用它的控制器。它应该转到Issue/IndexTDaver,似乎它在方法级别上与控制器/操作属性(仅与视图属性)一起工作不正常。除了将代码注释代码复制到项目中,您还可以通过Nuget:install package JetBrains.annotations安装包