問題タブ [asp.net-mvc-layout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
140 参照

asp.net - コードの繰り返しを避けるために、PartialView の or 要素にコードを配置するにはどうすればよいですか?

<script>すべてのビューのタグの形式と形状でデータベースから統計情報を取得しています。一部は に<head>、その他は に配置され<body>ます。

この情報の一部は、Google アナリティクスなどのすべてのビューで共有されますが、注文確認ビューでのみ利用可能な注文の詳細など、特定のビューのみに固有の情報もあります。

最終結果は次のようになります。

レイアウトで名前付きセクションを使用して、目的を達成しています。

サンプル ビュー コードは次のとおりです。

すべてのビュー モデルは Scripts フィールドを持つ基本クラスから継承されており、上で貼り付けたコードがすべてのビューに複製されており、これが問題です。

</body>レイアウトのすぐ下にあるこの行から始めて、コードを PartialView に移動しようとしました。

@{Html.RenderAction("Index", "Scripts");}

そして、私の ScriptsController で:

すべてが機能し、モデルは正しく読み込まれ、スクリプトの部分ビューで使用できますが、残念ながら部分ビュー@sectionで呼び出すことができないため、<script>タグは表示されません。

すべてのビューで使用される 1 つの共通の場所にある回避策と@if ((Model.Scripts.Head != null) && (Model.Scripts.Head.Count() != 0))残りのコードはありますか?