Asp.net core 如何创建从标准.Net核心脚本标记帮助程序继承的脚本标记帮助程序

Asp.net core 如何创建从标准.Net核心脚本标记帮助程序继承的脚本标记帮助程序,asp.net-core,asp.net-core-tag-helpers,Asp.net Core,Asp.net Core Tag Helpers,我维护一个大型传统ASP.NET MVC应用程序,该应用程序最近已转换为.NET Core 我需要为我们的JavaScript和CSS文件引入缓存破坏。我很欣赏在新的.Net核心脚本标记帮助器上使用asp append version=“true”属性可以轻松完成这项工作 然而,我的应用程序在100多个地方有脚本标记。在所有这些地方添加属性将涉及大量页面,这意味着大量回归测试 有没有一种方法可以创建一个新的脚本标记帮助器,该帮助器继承自.Net核心脚本标记帮助器,并且始终具有asp append

我维护一个大型传统ASP.NET MVC应用程序,该应用程序最近已转换为.NET Core

我需要为我们的JavaScript和CSS文件引入缓存破坏。我很欣赏在新的.Net核心脚本标记帮助器上使用asp append version=“true”属性可以轻松完成这项工作

然而,我的应用程序在100多个地方有脚本标记。在所有这些地方添加属性将涉及大量页面,这意味着大量回归测试

有没有一种方法可以创建一个新的脚本标记帮助器,该帮助器继承自.Net核心脚本标记帮助器,并且始终具有asp append version=“true”属性?这将使我无需更新大量文件就可以破坏缓存

…创建一个新的脚本标记帮助器,该帮助器继承自.Net核心脚本标记帮助器,并且始终具有asp append version=“true”属性

代码() 解释
  • A:将标记名
    设置为
    “脚本”
  • 实现基本构造函数
  • C:硬代码
    将版本
    追加为true
  • D:调用基类的
    进程
  • E:克服
用法 在
\u ViewImports.cshtml

请确保使用程序集的名称

完成后,只要有
脚本
标记帮助器,代码就会执行。例如,以下两项都将
AppendVersion
设置为
true

<script src="~/js/site.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
<script src="~/js/site.js" asp-append-version="false"></script>

这将是生成的HTML的结果:

<script src="/js/site.js?v=4q1jwFhaPaZgr8WAUSrux6hAuh0XDg9kPS3xIVq36I0"></script>

另见

可能重复感谢您的回答。但是,它不起作用。我创建了一个带有纯脚本标记的小测试应用程序,这个标记助手根本没有修改那些脚本标记。修复了。这是一个样品,谢谢,效果很好。注意到如果标签已经有了一个asp append version属性,那么这个标签助手会以某种方式向标签添加第二个src属性。但是Chrome完全忽略了第二个src属性,所以这不是一个真正的问题。它现在工作得很好,没有添加第二个src。
<script src="~/js/site.js"></script>
<script src="~/js/site.js" asp-append-version="true"></script>
<script src="~/js/site.js" asp-append-version="false"></script>
<script src="/js/site.js?v=4q1jwFhaPaZgr8WAUSrux6hAuh0XDg9kPS3xIVq36I0"></script>