3

これは私の_Layout.cshtmlです

<html>
    <head>
        @RenderSection("Script", false)
    </head>
    ...
</html>

これは簡単な編集ページ edit.cshtml です

@model Shop.Models.Product
@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}
@Html.EditorForModel()

これは ~/Views/Shared/EditorTemplates/Product.cshtml です

@model Shop.Models.Product
@section Script {
    <script>alert("hello");</script>
}
...

@section Script{...}EditorForModel のため、Product.cshtml では機能しません。どうすればできますか?

4

1 に答える 1

4

セクションはビューでのみ機能し、パーシャルでは機能しません。エディター テンプレートは特別な種類のパーシャルです。いずれにせよ、javascript をパーシャルに配置するのは悪い習慣なので、ビューでセクションを宣言するだけEdit.cshtmlです。

しかし、Razor はパーシャルのセクションをサポートしていないため、スクリプトをマークアップの途中に配置することを強く主張する場合は、それを実現するためにカスタム ヘルパーを実装できます。

于 2012-05-30T06:04:47.257 に答える