javascript - MVC 在哪里为我们的 cshtml 文件放置 js 引用?

标签 javascript html asp.net asp.net-mvc razor

在我们现有的 web 应用程序中,我们在 .cshtml 页面的开头完成了它:

@using Carwale.UI.PresentationLogic;
@model Carwale.Entity.ViewModels.HomeModel
@{
    ViewBag.CustomJS = "~/Views/StaticPartials/HomeScripts.cshtml";
    ViewBag.CustomCSS = "~/Views/StaticPartials/HomeCss.cshtml";
}

在我们的 "~/Views/StaticPartials/HomeScripts.cshtml" 中,我们有:

@model Company.Entity.ViewModels.HomeModel
<script>var landingPage = true;</script>
<script type="text/javascript" src="@(!string.IsNullOrWhiteSpace(ViewBag.staticUrl) ? "http://st.com" + ViewBag.stagingPath : "")/js/home.js?201605021628098010"></script>

我从各种性能网站上收到了渲染阻止 javascript 的建议。

我能以某种方式改进它吗? 我读到这应该在页面底部的某些 javascript 部分中以缩短页面加载时间。

最佳答案

我建议您使用 MVC 中的部分。 Here是另一篇解释节的使用的文章。

这是一个例子:

如果您有一个定义网站所有主要布局的主布局文件,请执行以下操作。将它放在主布局的 body 标记中。

@RenderSection("scripts", false)

然后,之后的每个页面/ View 都从这个主布局文件“继承”,您可以使用此部分添加您的 Javascript 引用,如下所示:

@section scripts{
    Scripts.Render("~/Scripts/YourCustomFolder/SomeJSFile.js")
}

关于javascript - MVC 在哪里为我们的 cshtml 文件放置 js 引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37247640/

相关文章:

jquery - sweetAlert - 不在确认按钮点击时调用函数

javascript - VS Code 中来自具有导入的类型定义的 javascript 文件的智能感知

html - 在div容器中输入,不会拉伸(stretch)

c# - 将网络响应流放入 iframe - 麻烦

jquery - 如何维护所有页面的主题颜色

html - 居中绝对定位溢出div

c# - Asp.net objectdatasource TypeName 属性错误

javascript - 每次选中和取消选中复选框时如何在不单击表单提交按钮的情况下在数据库中插入值

JavaScript:BannerPlugin.js 导致错误:str.indexOf 不是函数

javascript - jQuery onclick 创建并附加带有属性和子元素的元素