在_Layout页面中向RenderSection()添加JavaScript

时间:2016-03-03 11:12:56

标签: c# razor webmatrix-3

我确定这个问题肯定已经在StackOverflow上的某个地方被问过并回答了,但是我已经搜索过并且搜索过了,这是我的意思。我非常感谢社区可能提供的任何帮助。

我有一个表格,我很高兴,但我想用一点JavaScript来改进它。 JS与我的应用程序的任何其他页面无关,因此我不想将其添加到我的_Layout页面。

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

ChannelFuture bindFuture = serverBootstrap.bind(port);
//Wait for port to be bound
Channel channel = bindFuture.sync().channel();
//Bound here - start your tests        
//Wait for closure (optional)
channel.closeFuture().sync();

因此,我需要为我的页面添加一行代码(让我们称之为page.cshtml),这将在我的最终HTML的head部分添加一个JS块(包括脚本标记)。基本上,我认为我需要向RenderSection对象发送一个文本块。有人能告诉我输入我的page.cshtml的正确语法吗?

1 个答案:

答案 0 :(得分:1)

为什么需要专门为head部分添加脚本? MVC默认_Layout页面包含@RenderSection("scripts", required: false)部分。因此,如果您需要在视图page.cshtml(使用_Layout)上加载脚本,则应放置代码:

@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>
}