在 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 强迫我弄清楚。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句