从链接到确认按钮扩展程序的asp文本框中删除HTML标记,而不设置ValidateRequest=“”;false”;
Remove HTML tags from asp text box linked to confirm button extender without setting ValidateRequest="false"
当用户输入<>asp.net文本框控件中的符号。在模式弹出窗口中,回发时会引发运行时错误。我知道在过去,这种问题的很多答案都是将ValidateRequest设置为"false",但我不想设置它,因为我担心禁用可能阻止其他攻击的安全功能。
用户希望能够复制和粘贴有时包含<>的电子邮件文本标签,但他们并不介意是否删除这些标签,他们只希望在复制和粘贴表单并提交给服务器处理时自动删除这些标签。
有人能为这类问题提供一个解决方案的例子吗?如果不能按照用户的喜好进行,有哪些替代方案?谢谢
所以我遇到的一个障碍是,我想启动JS的模式弹出按钮链接到一个ajax确认按钮扩展程序,该扩展程序不允许它启动。
我不得不使用emca脚本修改确认按钮扩展程序的行为属性,并在该脚本中包含JS函数。最后,我做了一个检查,以确保扩展器不是null,因为根据情况,我可能会实例化控件,也可能不会实例化控件。
这是我的最终解决方案:
在aspx页面开头的Content标签之后,我放了我的脚本:
<script type="text/ecmascript">
Sys.Application.add_load(wireEvents);
function wireEvents() {
var behavior = $find("confirmBehavior");
if (behavior !== null)
{ behavior.add_showing(formatText); }
}
function formatText() {
var newValue = document.getElementById('<%=txtStatusComment.ClientID%>').value.replace(/[<>]+/g, "");
document.getElementById('<%=txtStatusComment.ClientID%>').value = newValue;
}
</script>
然后对于按钮,我做了以下操作:
<asp:Button ID="btnSaveStatus" runat="server" CssClass="button" OnClick="btnSaveStatus_Click" Text="Save" OnClientClick ="formatText();" />
<asp:Button ID="btnCancelStatus" runat="server" CssClass="button" OnClick="btnCancelStatus_Click" Text="Cancel" OnClientClick ="formatText();" />
<cc1:ConfirmButtonExtender ID="btnSaveStatus_ConfirmButtonExtender" BehaviorID="confirmBehavior" runat="server" DisplayModalPopupID="modalPopupExtender3" Enabled="true" TargetControlID="btnSaveStatus">
</cc1:ConfirmButtonExtender>
希望这能帮助到任何有同样问题的人!
相关文章:
- 如何在React Native的MapView中设置标记
- 谷歌地图标记在通过变量设置标记和经度时不保持不变
- 正在使用文本框中的地址从geoloc设置标记
- 设置标记之间多段线的动画-Mapbox
- 如何在谷歌地图中设置标记的最佳缩放
- 通过lat和lng值设置标记
- 页面加载时的操作,以在谷歌地图概率上设置标记
- 标记群集器根据其中的标记设置标记群集图标
- 设置标记谷歌地图javascript api
- 未能在谷歌地图上设置标记
- 更改复选框时在谷歌地图上设置标记
- 这里映射JavaScript API 3.0浏览器如何设置标记颜色
- 如何在Google Maps API v3中设置标记的z索引
- Google地图每隔x秒设置标记纬度和经度
- 如何设置标记在谷歌地图使用javascript
- 谷歌地图Javascript V3:我如何设置标记阴影's偏移从标记
- 如何设置标记可见的谷歌地图上的可拖动方向
- 如何根据购买的次数设置标记的大小?
- 谷歌地图API v3设置标记和获取点
- 在select2上设置标记值