是否有用于MVC链接的编译时间检查的工具?

Jos*_*ank 3 asp.net-mvc

我从另一个开发人员继承了一个kludgy和buggy MVC代码库,我正在尝试清理它.有一点非常有用的是在编译时检查与控制器中的操作方法不对应的链接的工具.

例如,您可以编写一个这样的动作方法:

public ActionResult InsertAccount(string Name)
Run Code Online (Sandbox Code Playgroud)

并且可能存在某个看起来像这样的链接:

/SomeController/InsertAccount?Id=Foo
Run Code Online (Sandbox Code Playgroud)

在此过程中的某个地方,参数从"Id"变为"Name",这打破了链接.如果所有内容都在C#中,编译器会捕获它,但由于链接是从字符串生成的,因此无法检测到这样的更改.

是否有任何工具可以做到这一点,或链接构造的指南,以保持名称安全,所以我可以使用编译器来捕捉这种问题?

Dmi*_*try 5

查看T4MVC

有了它,你可以这样写:

@Html.ActionLink("Insert Account", MVC.SomeController.InsertAccount("Foo"))
Run Code Online (Sandbox Code Playgroud)

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