我正在学习一门关于.NET Core8的课程,但我遇到了一个大问号.授课人员展示了一种添加TempData使用的Toastr的方法,如下所示:
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.min.js"></script>
@if (TempData["SuccessMessage"] != null)
{
<script type="text/javascript">
toastr.success('@TempData["SuccessMessage"]');
</script>
}
现在,代码起作用了.然而..代码位于添加到_Layout(_Notification)的分部视图中:
<div class="container">
<main role="main" class="pb-3">
<partial name="../Category/_Notification" />
@RenderBody()
</main>
</div>
<footer class="border-top text-muted fixed-bottom">
<div class="container text-center">
Made with <i class="bi bi-heart-pulse-fill"></i>
</div>
</footer>
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
@await RenderSectionAsync("Scripts", required: false)
我的问题是:为什么我需要在局部视图中添加脚本,而例如jquery.min.js已经添加到脚本部分in_layout中?当我将所有脚本添加到_Layout而不是将其添加到部分视图时,为什么它不起作用?
非常感谢所有的答案.