【问题标题】:How to leverage Resharper's "navigate to controller method" feature如何利用 Resharper 的“导航到控制器方法”功能
【发布时间】:2012-01-02 02:29:27
【问题描述】:

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

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

【问题讨论】:

    标签: asp.net-mvc controller resharper redirecttoaction


    【解决方案1】:

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

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

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

    【讨论】:

    • 到目前为止很棒。如果我有一个只接受错误字符串的重载,并且它重定向到 CurrentController/Index,我还需要在方法中添加什么来强调它?
    • 标记两个属性(AspMvcController 和 AspMvcAction)方法本身。
    • 怎么样?我已将 [AspMvcAction("Index"), AspMvcController] 放在方法上方,现在 Resharper 说无法导航到操作“IssueController”,其中 IssueController 是我尝试使用它的控制器。它应该转到 Issue/Index
    • TDaver,似乎它无法在方法级别上与控制器/动作属性一起正常工作 - 仅与视图属性一起使用。
    • 除了将代码注释代码复制到您的项目中之外,您还可以通过 Nuget 安装包: install-package JetBrains.Annotations
    猜你喜欢
    • 2016-06-25
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多