自定义Tag Helper添加OnClick属性时值被HTML编码,如何保留原格式?
解决自定义Tag Helper中OnClick属性值HTML编码问题
在自定义Tag Helper里通过AddAttribute添加onclick属性时,属性值中的单引号会被自动HTML编码,导致渲染后的页面源码里'变成',影响JS函数的正常调用。
解决方案
不要直接传入字符串作为属性值,改用HtmlString包装属性值内容。HtmlString会被Tag Helper视为已完成编码的安全内容,不会再进行二次编码。
修改后的代码示例:
using Microsoft.AspNetCore.Html; // ... icon.AddAttribute("onclick", new HtmlString($"togglePasswordVisible('{this.InputControlName}');"));
这样渲染后的页面源码中,onclick属性值会保留原有格式:
onclick="togglePasswordVisible('TesterPass');"
内容的提问来源于stack exchange,提问作者SteinTech
相关产品推荐
相关产品推荐

