【问题标题】:Adding JavaScript to RenderSection() in _Layout Page在 _Layout 页面中将 JavaScript 添加到 RenderSection()
【发布时间】:2016-03-03 11:12:56
【问题描述】:

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

我有一个我很满意的表单,但我想通过一点 JavaScript 来改进它。 JS 与我的应用程序的任何其他页面都不相关,因此我不想将其添加到我的 _Layout 页面。

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

@RenderSection("head", required: false)

所以,我需要为我的页面添加一行代码(我们称之为 page.cshtml),它将一个 JS 块(包括脚本标签)添加到我最终 HTML 的头部部分。本质上,我认为我需要向 RenderSection 对象发送一段文本。有人能告诉我将正确的语法放入我的 page.cshtml 吗?

【问题讨论】:

    标签: c# razor webmatrix-3


    【解决方案1】:

    为什么需要专门在 head 部分添加脚本? MVC 默认_Layout 页面有@RenderSection("scripts", required: false) 部分。因此,如果您需要在 View 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>
    }
    

    【讨论】:

    • 谢谢你。我知道它是这样的,但出于某种奇怪的原因,我将它放在我的代码块中,并且有点困惑,因为我没有突出显示语法。所以现在当然可以……嗯,几乎在任何地方。至于为什么我把 JS 专门放在头上 - 抱歉,但这只是 99% 的时间我把 JS 函数放在哪里!你的问题让我开始思考我为什么要这么做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-15
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多