【问题标题】:Is there a tool for compile time checking of MVC links?是否有编译时检查 MVC 链接的工具?
【发布时间】:2013-10-12 00:34:04
【问题描述】:

我从另一个开发人员那里继承了一个笨拙且有缺陷的 MVC 代码库,我正在尝试清理它。一个非常有用的工具是在编译时检查与控制器中的操作方法不对应的链接。

例如,你可以这样写一个动作方法:

public ActionResult InsertAccount(string Name)

并且在某处可能有一个如下所示的链接:

/SomeController/InsertAccount?Id=Foo

在此过程中,参数从“Id”更改为“Name”,这打破了链接。如果一切都在 C# 中,编译器会捕获它,但由于链接是从字符串生成的,因此无法检测到这样的更改。

是否有任何工具可以做到这一点,或者链接构造指南以保护名称安全,以便我可以使用编译器来捕获此类问题?

【问题讨论】:

    标签: asp.net-mvc


    【解决方案1】:

    查看T4MVC

    你可以这样写:

    @Html.ActionLink("Insert Account", MVC.SomeController.InsertAccount("Foo"))
    

    您在构建时仍然不会收到编译错误,因为默认情况下不编译视图。但是,您可以在项目文件中更改它,如here

    【讨论】:

    • 哦,看起来很棒!会检查的。
    【解决方案2】:

    JetBrain 的 resharper 提供了这种类型的检查。它在处理视图和控制器之间的链接时提供了相当多的帮助,当您尝试返回不存在的视图并在视图中检测到不存在的操作时,它会向您显示

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多