1

部分的なビューでは、次のようなjavascriptファイルをロードします。

<script src="@Url.Content("~/Scripts/Testing.js")" type="text/javascript"></script>

にはTesting.js、いくつかの関数が定義されています。これで、ファイルで定義された関数を使用できます。

ここで、アプリケーションでアクションを実行すると、コントローラーが別の(jsファイルをロードしない)部分ビューを返します。で定義された機能Testing.jsは、この部分ビューで引き続き使用できます。

最初のビューにロードされた関数を「削除」する方法はありますか?

ありがとう、

アップデート1

部分ビューでこれを試しましたが、エラー: 「RenderSection」メソッドを呼び出すため、ファイル「〜/ Views/xxxx.cshtml」を直接要求できません。

@section MyScript {
    <script src="@Url.Content("~/Scripts/Testing.js")" type="text/javascript"></script>
}
@RenderSection("MyScript", false)
4

1 に答える 1

6

パーシャルでスクリプトを参照することは避けてください。レイアウトにセクションを定義できます。たとえば、閉じる直前に、</body>ビューにカスタムスクリプトを含めることができます。

    <script type="text/javascript" src="@Url.Content("~/scripts/some_common_script_that_will_be_used_by_all_views_such_as_jquery_for_example")"></script>
    @RenderSection("scripts", false)
</body>
</html>

次に、ビュー(部分ビューではない)でこのセクションをオーバーライドして、このビューに必要なスクリプトを含めます。

@section scripts {
    <script src="@Url.Content("~/Scripts/Testing.js")" type="text/javascript"></script>
}
于 2012-07-26T09:09:05.513 に答える