这是我的_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>
}
...
由于EditorForModel, @section Script{...}
在Product.cshtml中不起作用。怎么办?
答案 0 :(得分:4)
章节仅适用于视图,不适用于局部视图。编辑器模板是一种特殊的部分模板。无论如何将javascript放入partial中是不好的做法,因此我只需在Edit.cshtml
视图中声明该部分。
但是如果你非常坚持将你的脚本放在标记的中间,由于Razor不支持部分中的部分,你可以实现custom helpers来实现它。