【发布时间】:2022-10-01 00:46:53
【问题描述】:
当我尝试在 ASP.NET Core 6 MVC 中链接我的 .cshtml 文件和我的 JavaScript 引用时,我遇到了一个问题。
到目前为止,我已经进行了一个 webpack 设置,以便它在一个名为 home.sources.cshtml 的单独文件中生成我的 JavaScript 标签:
@section Scripts
{
<script src=\"/js/npm.popperjs.bundle.js\"></script>
<script src=\"/js/npm.jquery.bundle.js\"></script>
<script src=\"/js/npm.bootstrap.bundle.js\"></script>
<script src=\"/js/home.bundle.js\"></script>
}
如您所见,我的标签被封装在Scripts 部分。所有这些依赖项都适用于我的View/Home/Index.cshtml 页面:
@{
ViewData[\"Title\"] = \"Home Page\";
}
<div class=\"text-center\">
<h1 class=\"display-4\">Welcome</h1>
<p class=\"test\">Learn about <a href=\"https://docs.microsoft.com/aspnet/core\">building Web apps with ASP.NET Core</a>.</p>
</div>
// Insert Script Section here
我想让home.sources.cshtml 的内容在运行时附加到此页面。我不想自己手动添加脚本部分,也不想在以后添加更多 JavaScript 依赖项时修改页面。我添加或删除的任何额外 JavaScript 依赖项的更改将仅反映在 home.sources.cshtml 中。
我该怎么做呢?
我正在研究@Html.Partial(),试图将Script 部分作为部分视图添加到页面中,但这似乎不起作用。
-
您可以创建一个呈现这些脚本的布局,然后指定
Index使用该布局。或者将布局全局应用到所有页面,这是最常见的。 -
这实际上是一个好主意。我设法创建了一个布局模板,该模板引用了我的原始布局,并注入了 JS 标签。然后这个文件用于为每个页面生成一个布局,这样用户只需要下载必要的 JS 包!它有效!谢谢!我会尽快发布我得到的解决方案。
-
太好了-很高兴听到。这是 MVC 中非常常见的范例
标签: c# webpack asp.net-core-mvc asp.net-core-6.0