2

壊れた Html.ActionLinks を見つけるにはどうすればよいですか?

例:存在しないHtml.ActionLink("View", "ViewCustomer", "Customer")場所を検索します。CustomerController.ViewCustomer()

4

3 に答える 3

3

MVCContribから厳密に型指定されたアクション リンクを使用できます。

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

コンパイル済みビューを使用している場合、参照されているコントローラー メソッドを削除すると、これらはコンパイル時に壊れます。

于 2012-08-14T22:09:38.170 に答える
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));

お役に立てれば。

于 2012-08-15T00:08:23.327 に答える