Acione o TagHelper de outro TagHelper
Eu gostaria de acionar o estoqueScriptTagHelper
(ver fonte no GitHub) para emular oasp-append-version="true"
atributo.
Eu sei que a maneira correta de usar isso é apenas mudar disso:
<script src="somefile.js"></script>
para isso:
<script src="somefile.js" asp-append-version="true"></script>
Esse processo é muito semelhante ao versionamento de CSS includes e imagens (LinkTagHelper
eImageTagHelper
)
Como tenho muitos scripts, folhas de estilo e imagens incluídos, gostaria de automatizar um pouco as coisas. Então, ao invés de adicionarasp-append-version="true"
em cada elemento HTML, prefiro criar um TagHelper personalizado que faça isso por mim.
Aqui está o problema - não funciona.
Atualmente, meu TagHelper cobre apenasscript
tags e fica assim:
[HtmlTargetElement("script", Attributes = "src")]
public class TestTagHelper : TagHelper
{
public override int Order => int.MinValue;
public override void Process(TagHelperContext context, TagHelperOutput output)
{
if(!context.AllAttributes.ContainsName("asp-append-version"))
{
output.Attributes.SetAttribute("asp-append-version", "true");
}
}
}
Mas, em vez de acionar o padrãoScriptTagHelper
, ele literalmente gera oasp-append-version="true"
para o HTML de saída. Eu também configurei oOrder
para INT_MIN, para que seja acionado antes de qualquer outro Assistente de tags, mas ainda não funcione.
Existe uma maneira de fazer isso funcionar?