私は静的ファイルでほとんどのJavaScriptを縮小する方法に取り組んでおり、各ビューには次のようなものがあります。
@section Script
{
@Html.Action("MinifyJavaScript", "Resource", new { viewPath = "~/Views/User/Register.Js.cshtml", model = Model })
}
これにより、次のような小さな非静的なJavaScriptコードがレンダリングされます。
@model UserRegisterModel
<script>
(function ($, b) {
$(function () {
b.views.user.register('@Url.Action("ValidateInput", "User")');
});
})(jQuery, bruttijjimo);
</script>
これにより、モデルによって異なる部分のみを変更できるため、ビューにJavaScriptをより多くキャッシュできます(通常、部分的なビューとして扱われます)。
ここで、レイアウトセクションの必要性をなくし、慣例により、ビューの直後にjavascript部分ビュー(ビューと同じモデルが渡される)をレンダリングすることで、このプラクティスをさらにアップグレードしたいと思います。ビュー内のJavaScriptを圧縮するメソッドをすでに作成しました。.js.cshtml
また、ビューのjavascriptはファイル内にあり、モデルをビューと共有する必要があるという規則もあります。
必要なのは、レイアウトからビューのモデルとビューの名前も取得し、そこにレンダリングすることです。
パーシャルはjavascriptを発行する必要がある場合にスクリプトマネージャーを使用するため、これは実際のビューでのみ機能するか、必要になります。
だから:どうすればレイアウトからビューのモデルを取得できますか?残りは理解できますが、これは私にはわかりません。