找到破碎的控制器动作

时间:2012-08-14 22:00:19

标签: asp.net-mvc

如何找到损坏的Html.ActionLinks?

e.g。查看Html.ActionLink("View", "ViewCustomer", "Customer")不再存在的CustomerController.ViewCustomer()

2 个答案:

答案 0 :(得分:3)

您可以使用MVCContrib中的强类型操作链接。

<%: Html.ActionLink<Home>(c => c.Index()) %>

如果使用编译视图,当删除引用的控制器方法时,这些将在编译时中断。

答案 1 :(得分:2)

如果您正在寻找系统方法安装(可以使用NuGet)并应用T4MVC

我对自己的项目做了 - 所有你的魔术字符串(不仅是动作链接,但是所有需要字符串的东西)都会在你的应用程序中消失。您最终使用仅强类型帮助程序来消除文字字符串的使用。

特别是你的情况

@Html.ActionLink("View", "ViewCustomer", "Customer")

将成为

@Html.ActionLink("Externalize me as well!", MVC.Customer.ViewCustomer())

如果您将建议的内容外部化,它将成为您所寻找的内容:

@Html.ActionLink(Config.ViewLabel, MVC.Customer.ViewCustomer())

这不是美女吗? 我认为这应该是事实上的标准而不是“字符串化”的方法。

了解它对您的项目的作用: 在视图中:

@Html.RenderPartial(MVC.Customer.Views.YourView)

在控制器中:

return View(Views.YourView);

RedirectToAction(MVC.Home.MyAction().AddRouteValues(Request.QueryString));

希望这有帮助。