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 的方法。还有一个约定,视图的 javascript 必须在.js.cshtml文件中,并与视图共享模型。

我需要的是从布局中获取视图的模型,以及视图的名称,然后在那里渲染。

这仅对实际视图有效或需要,因为如果需要发出 javascript,partials 会使用脚本管理器。

那么:如何从布局中获取视图模型?其余的我可以弄清楚,但这一个正在躲避我..

4

1 回答 1

0

那么:如何从布局中获取视图模型?

@Model应该给你你正在寻找的东西。

话虽这么说,我不太明白你在做什么,但事实上你的视图中有javascript,而不是把它放在一个单独的javascript文件中,把缓存的东西留给浏览器,重新发明一些轮子感觉不对。

于 2012-05-05T21:26:30.773 回答