MVC4部分视图javascript绑定问题

MVC4部分视图javascript绑定问题,javascript,asp.net-mvc-4,asp.net-optimization,bundling-and-minification,Javascript,Asp.net Mvc 4,Asp.net Optimization,Bundling And Minification,我正在使用VisualStudio11开发一个项目ASP.NET4,MVC4(RC)。 我试图渲染一个MVC4 Razor视图,该视图渲染一个局部视图。我的部分视图需要一些javascript。 在我的局部视图中,当我在脚本部分中包含javascript时,它似乎没有加载 @section Scripts { <script type="text/javascript"> $(function () { alert("test");

我正在使用VisualStudio11开发一个项目ASP.NET4,MVC4(RC)。 我试图渲染一个MVC4 Razor视图,该视图渲染一个局部视图。我的部分视图需要一些javascript。 在我的局部视图中,当我在脚本部分中包含javascript时,它似乎没有加载

@section Scripts {
    <script type="text/javascript">
        $(function () {
            alert("test");
        });
    </script>
}

有人知道这个问题的解决方案吗,或者我只是走错了方向?它伤了我的头

不要将脚本包装在
文档中。准备好部分中的

@section Scripts {
    <script type="text/javascript">
        alert("test");
    </script>
}
@节脚本{
警报(“测试”);
}

啊,不要把脚本放在片段中。Javascript代码应该放在单独的Javascript文件中。如果您想在加载部分时执行一些javascript,只需将此脚本外部化为一个可重用的函数/插件,在加载部分后即可调用该函数/插件。

最终实现了这一点。我从部分视图中删除了javascript,并将其放置在脚本部分的父视图(不是部分视图)中。此脚本部分是在使用支架(Create)创建视图时自动创建的,并放置在页面的末尾。为了实现这一点,我必须在调用render my partial之前将其移到页面顶部。

正好解决了这个问题,并允许您向部分视图添加脚本引用,这些视图被卷起并放置在页面的末尾(或您指定的任何位置)。它还处理逐页的绑定、版本控制和缩小


确保脚本引用位于“父”视图而不是分部视图上的开销并没有真正困扰我,但是如果您有大量分部都需要自己的脚本和CSS,那么客户端依赖性可能会很有帮助。

感谢您的回复,但对我来说不起作用。当我查看页面源代码时,即使删除document.ready,javascript也完全丢失了。如果我将javascript移动到其父视图(不是部分视图),它会被加载。但我确实需要它在水平视图的负载上。终于让它起作用了。当我用脚本创建页面时,非常有趣的是,你发现了@martin的问题,他标记了自己的答案,即使你的解决方案是正确的:DAnd如果我有部分特定脚本呢?在我的例子中,我需要对其父母完全不可知的部分脚本,反之亦然。我在附近找到了一些破解方法,我要用它们。无论如何,感谢您的评论。这里有一个更小更简单的扩展方法,可以解决部分脚本的特定问题:
@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)
@section Scripts {
    <script type="text/javascript">
        alert("test");
    </script>
}