ASP.NET MVC 3如何将Javascript注入主布局

Bre*_*ogt 4 javascript razor asp.net-mvc-3

我正在尝试从MVC 3新的剃刀视图引擎.我遇到的问题是我有特定于页面的Javascript.我通常在标签关闭之前拥有所有的Javascript代码.我想在我关闭主布局上的body标签之前放置一个部分.有些事情的影响:

<script type="text/javascript">
   @RenderSection("JavaScript")
</script>
Run Code Online (Sandbox Code Playgroud)

但VS2010以绿色突出显示它.所以哪个页面使用这个主布局都可以在这里注入Javascript.你们会怎么做?我想这样做的原因是因为我可以在这里添加来自主布局的JavaScript,其他我将不得不在@RenderSection下面定义一个单独的脚本标记.

当我执行以下操作时,VS会给我一个警告(我不喜欢警告):

Validation (HTML 4.01): Element 'link' cannot be nested within element 'link'.
Run Code Online (Sandbox Code Playgroud)

这是我上面警告的代码:

@section HeadSection
{
    <link href="http://yui.yahooapis.com/2.8.2r1/build/button/assets/skins/sam/button.css" rel="stylesheet" type="text/css">
    <link href="http://yui.yahooapis.com/2.8.2r1/build/datatable/assets/skins/sam/datatable.css" rel="stylesheet" type="text/css">
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到这些警告?

Est*_*ban 5

这是我要做的,根据您应该将脚本放在页面底部的最佳实践.

_Layout.cshtml

<html>
    <head>
        @* ... *@
    </head>
    <body>
        @* ... *@        
        @RenderSection("Scripts", false)
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

MyView.cshtml

@section Scripts
{
    <script src="@Url.Content("~/Scripts/myScript.js")"
            type="text/javascript"></script>
}
Run Code Online (Sandbox Code Playgroud)