シナリオ
私のチームは、かなり複雑な MVC3/C# サイトを構築しています。最近、いくつかのリファクタリングが行われ、多くのビュー、部分ビュー、およびテンプレートが移動しました。ページの 1 つを見ると、どの cshtml ファイルがページのどの部分を担当しているかを判断するのは困難です。作業中のファイルをすばやく確認する方法が欲しいです。
なぜ問題なのか
- プレゼンテーション層には多くのファイルがあり、フォルダー構造は複雑です。
- 一部の cshtml ファイルは同じ名前ですが、ファイル パスが異なります。
- ルーティング テーブルも同様に複雑です。
- レイアウト、共有ビュー、部分ビュー、およびテンプレートを大幅に活用しました。1 つのページには、それを構築する 10 個以上の cshtml ファイルを含めることができます。
- クライアント側のテキストのほとんどはリソース文字列に由来するため、ページ上のテキストに対して Ctrl-F だけを使用することはできません。
- デバッガーをステップ実行しても、多くの時間を節約できません。
これらのことはどれもショーストッパーではありませんが、これには時間がかかります.
私が欲しいもの
ローカルホスト (のみ) で実行すると、レンダリングされた HTML が次のようになります。
<!-- From: ~/shared/_layout.cshtml -->
<html>
<body>
<!-- From: ~/admin/view.cshtml -->
<h1>Here comes a list of widgets:</h1>
<!-- From: ~/widgets/list.cshtml -->
<ul>
<!-- From: ~/widgets/view.cshtml -->
<li>Widget 1</li>
...etc.
サードパーティのツールを含め、必要な情報を取得する他の方法を受け入れます。
これまでのアイデア
私の考えは、私たちが使用している基本クラスを微調整することでしたpageBaseType
が、私はMVCに少し慣れていないため(1年未満)、まだ頭に残っています。どのメソッドをオーバーライドするか、またはビューのファイル名を取得してレンダリングする方法がわかりません。