如何根据url或基于我们所在的页面在_Layut中呈现脚本

时间:2019-05-11 09:18:31

标签: javascript c# asp.net

我对ASP.Net MVC相当陌生。我正在使用ASP.Net MVC 5,并且有一个_Layout可以渲染一些脚本。我想根据我在特定页面中的天气或URL是特定URL来呈现脚本。这是我在_Layout中的代码以及要渲染的脚本:

@Scripts.Render("~/plugins/skinConfig")
    <script src="~/Scripts/jquery.signalR-2.1.2.min.js"></script>
    <!--Reference the autogenerated SignalR hub script. -->
    <script src="~/signalr/hubs"></script>

1 个答案:

答案 0 :(得分:2)

您通常会在布局页面中定义一个部分,您可以在其中为特定页面编写脚本(请注意,这不是必需的):

@RenderSection("scripts", required: false)

然后在要包含特定脚本的实际视图中,执行以下操作:

@section scripts
{
    <script src="#"></script>
}

如果您想更精确地控制脚本的呈现时间,则可以在控制器操作中做一些魔术,并在vies模型(或viewbag)上设置一个值,以指示应呈现脚本然后做:

@if(ViewBag.ShouldRenderScripts)
{
    <script src="#"></script>
}