【发布时间】:2021-10-25 21:54:20
【问题描述】:
我在将正确的 CSP 添加到旧版应用程序时遇到了一些问题。
最初,我在修复 HTMLControls 添加的所有内联事件时遇到问题,因为我不希望策略允许这些事件。我设法通过创建自定义 HTMLTextWriter 来处理 Onclick 和 OnChange 事件并使用 element.AddEventListener 将它们绑定到适当的处理程序来解决这个问题。
现在,问题出现在 HTMLForm 似乎收到值为“javascript:return WebForm_OnSubmit();”的 onsubmit 时。
<form method="post" action="./MyPage.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="form1">
...
</form>
这是由旧版应用中的一些自定义验证器引起的。 我的问题是,自定义 html 文本编写器似乎根本看不到正在编写的表单。唯一可用的部分是表单 ID。
我注意到的事情:
- 表单是自动生成的,它被添加到主文件中,并且设计器部分会自动更新。
- 后面的代码只有几个属性,用于文化代码信息和样式包的位置,以及将样式的 href 属性设置为样式包位置的方法。
如何从 asp.net WebForms 中删除其他事件处理程序以创建符合 CSP 的应用程序?
【问题讨论】: