C# 将JavaScript添加到_布局页面中的RenderSection()

C# 将JavaScript添加到_布局页面中的RenderSection(),c#,razor,webmatrix-3,C#,Razor,Webmatrix 3,我确信这个问题一定是在StackOverflow上的某个地方被问到和回答的,但我已经搜索了又搜索,它一直在逃避我。我非常感谢社区可能提供的任何帮助 我有一个我很高兴使用的表单,但我想用JavaScript来改进它。JS与我的应用程序的任何其他页面都不相关,因此我不想将其添加到我的布局页面 在my_Layout.cshtml页面的head元素中,我有: @RenderSection("head", required: false) 因此,我需要为我的页面(我们称之为page.cshtml)编写一

我确信这个问题一定是在StackOverflow上的某个地方被问到和回答的,但我已经搜索了又搜索,它一直在逃避我。我非常感谢社区可能提供的任何帮助

我有一个我很高兴使用的表单,但我想用JavaScript来改进它。JS与我的应用程序的任何其他页面都不相关,因此我不想将其添加到我的布局页面

在my_Layout.cshtml页面的head元素中,我有:

@RenderSection("head", required: false)

因此,我需要为我的页面(我们称之为page.cshtml)编写一行代码,将JS块(包括脚本标记)添加到最终HTML的头部部分。本质上,我想我需要向RenderSection对象发送一块文本。有人能告诉我在我的page.cshtml中使用的正确语法吗?

为什么需要在head部分添加脚本?MVC默认
\u布局
页面有
@RenderSection(“脚本”,必需:false)
部分。因此,如果您需要在视图
page.cshtml
(使用
\u布局
)上加载脚本,您应该放置一个代码:

@section scripts {
    <script type="text/javascript">
       //your script
    </script>
}
@节脚本{
//你的剧本
}
当Razor呈现页面时,它会将此脚本添加到节中

无论如何,如果您想将sctipt添加到这个特定的头部部分,可以采用相同的方法:

@section head {
    //other code that should be in head
    <script type="text/javascript">
       //your script
    </script>
}
@段头{
//应该在head中的其他代码
//你的剧本
}

谢谢你。我知道它是这样的,但出于某种奇怪的原因,我把它放在我的代码块中,有点困惑,我没有得到语法突出显示。所以现在当然可以。。。。嗯,几乎任何地方都可以。至于我为什么要把JS特别放在头上——对不起,我99%的时间都是把JS函数放在头上的!你的问题让我思考我为什么要这么做。