如何找到损坏的Html.ActionLinks?
e.g。查看Html.ActionLink("View", "ViewCustomer", "Customer")
不再存在的CustomerController.ViewCustomer()
。
答案 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));
希望这有帮助。