如何找到损坏的 Html.ActionLinks?
例如,查找不再存在的Html.ActionLink("View", "ViewCustomer", "Customer")
位置。CustomerController.ViewCustomer()
如何找到损坏的 Html.ActionLinks?
例如,查找不再存在的Html.ActionLink("View", "ViewCustomer", "Customer")
位置。CustomerController.ViewCustomer()
您可以使用MVCContrib中的强类型操作链接。
<%: Html.ActionLink<Home>(c => c.Index()) %>
如果您使用已编译的视图,这些将在您删除引用的控制器方法时在编译时中断。
如果您正在寻找系统方法安装(可以使用 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));
希望这可以帮助。
接受的解决方案没有回答这个问题。这是我的解决方案(不确定是否需要 Resharper)。