如何解决在 Razor Pages 视图中,为什么不呈现 href 和 onclick 属性?
在 Razor Pages 视图(没有“@page”属性;只是一个 cshtml 文件)中,我试图呈现一个锚标记。我不想使用标签助手,我只想让它像这样呈现:
<a href="javascript:void(0)" onclick="javascriptFunctionCall(1)" class="page-link"><i class="fas fa-fast-backward"></i></a>
视图呈现时没有错误消息,但锚标记内的“href”和“onclick”属性根本不呈现。 “class”属性确实呈现。如果我向标签添加其他属性,它们也会呈现。我正在使用 fontawesome 图标,并且它们可以正确呈现。但是“href”和“onclick”属性不会呈现。
对于“href”属性,如果我将值更改为“#”,它会呈现。显然,如果属性包含 javascript,RazorPages 渲染引擎中的某些内容会说“我不会渲染这个”。
这显然只发生在视图中。我注意到我尝试在页面上呈现相同的元素(具有 @page 属性),它呈现得很好。
当用户单击一个按钮时会呈现视图本身,这会进行 fetch 调用,该调用会命中一个呈现视图的服务器端方法,如下所示:
return Partial("_MyViewName",myModel);
有没有办法在 Razor 视图中的锚标记中的 href 和 onclick 属性中呈现静态值?
解决方法
我自己无意中删除了 javascript,因为在 javascript 中,我通过 DOMPurify 库传递从服务器返回的值(以防止 javascript 注入攻击)。这对我来说很愚蠢,但特别感谢@KingKing 强迫我弄清楚。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。