2015-11-30 18 views
0

当用户在模式弹出窗口的asp.net文本框控件中输入<>符号时,回发时会引发运行时错误。我知道,在过去的很多回答这类问题是设置ValidateRequest =“假”,但是我不想设置在担心可能会阻止其他攻击禁用安全功能。从asp文本框中移除HTML标签,链接到确认按钮扩展程序而不设置ValidateRequest =“false”

的用户希望能够复制和有时含有<>标签粘贴电子邮件文本,但他们不介意,如果标签被删除,他们只是想在复制和粘贴,然后提交它们被自动删除服务器处理的表单。

任何人都可以提供此类问题的解决方案的例子吗?如果因为用户喜欢什么是一些替代解决方案而无法完成?谢谢。

回答

0

所以跨栏我是模态弹出按钮,我想火JS之一,是有联系的,这不是让它火灾的AJAX确认键扩展。

我不得不使用EMCA脚本来修改确认键扩展的行为属性,包括在该脚本的JS功能。最后我做了检查,以确保该扩展是不是null作为根据情况我可能会或可能不会实例化控制。

这是我最后的解决办法:

在aspx页面开头的内容标签后,我把我的脚本:

<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> 

希望这有助于同样的问题任何人!

相关问题