0

私は静的ファイルでほとんどの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を発行する必要がある場合にスクリプトマネージャーを使用するため、これは実際のビューでのみ機能するか、必要になります。

だから:どうすればレイアウトからビューのモデルを取得できますか?残りは理解できますが、これは私にはわかりません。

4

1 に答える 1

0

だから:どうすればレイアウトからビューのモデルを取得できますか?

@Modelあなたが探しているものをあなたに与えるべきです。

これは、私があなたが何をしているのかよく理解していなかったと言われていますが、別のjavascriptファイルにjavascriptを入れて、キャッシュをブラウザに任せて、いくつかのホイールを再発明するのではなく、ビュー内にjavascriptがあるという事実は間違っていると感じます。

于 2012-05-05T21:26:30.773 に答える