我正在做一个练习,我在静态文件中缩小我的大部分 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 的方法。还有一个约定,视图的 javascript 必须在.js.cshtml
文件中,并与视图共享模型。
我需要的是从布局中获取视图的模型,以及视图的名称,然后在那里渲染。
这仅对实际视图有效或需要,因为如果需要发出 javascript,partials 会使用脚本管理器。
那么:如何从布局中获取视图模型?其余的我可以弄清楚,但这一个正在躲避我..