从ASP.NET MVC部分视图中卸载/删除javascript函数

Unload/Remove javascript functions from ASP.NET MVC partial view

本文关键字:卸载 删除 javascript 函数 视图 NET ASP MVC      更新时间:2024-03-26

在部分视图中,我加载一个javascript文件,如下所示:

<script src="@Url.Content("~/Scripts/Testing.js")" type="text/javascript"></script>

Testing.js中,定义了一些函子这就是工作,可以使用文件中定义的函数。

现在我在我的应用程序中执行一个操作,我的控制器返回另一个(我不加载任何js文件)部分视图。Testing.js中定义的函数在此局部视图中仍然可用。

有没有办法"删除"第一个视图中加载的函数?

谢谢,

更新1

我在局部视图中尝试了此操作,但出现错误:无法直接请求文件"~/Views/xxxx.cshtml",因为它调用了"RenderSection"方法

@section MyScript {
    <script src="@Url.Content("~/Scripts/Testing.js")" type="text/javascript"></script>
}
@RenderSection("MyScript", false)

您应该避免在部分中引用任何脚本。您可以在布局中定义一个部分,例如,就在关闭</body>之前,这将允许视图包含一些自定义脚本:

    <script type="text/javascript" src="@Url.Content("~/scripts/some_common_script_that_will_be_used_by_all_views_such_as_jquery_for_example")"></script>
    @RenderSection("scripts", false)
</body>
</html>

然后在视图中(而不是在部分视图中)覆盖此部分,以包含此视图可能需要的任何脚本:

@section scripts {
    <script src="@Url.Content("~/Scripts/Testing.js")" type="text/javascript"></script>
}