2014-09-19 55 views
0

我在每个页面上都有一个注销按钮。具有用于编辑帐户信息的表单的一页具有用于各种帐户信息字段的各种文本字段。如果用户输入一些HTML(例如
标签),并且单击注销,则会出现Potentially dangerous request.form value was detected from the client错误。这可能是因为表单正在提交,即使它现在没有提交到我们的更新功能。注销按钮提交生成潜在危险Request.Form

如何处理它,以便我可以告诉用户这是一个问题,或者只是剥离HTML?

+0

不是WebForms只有一个“窗体”的整个页面?如果情况仍然如此,那么哪个按钮调用提交并不重要,因为表单值包含了不允许的内容,所以会产生“潜在危险的请求”。 – David 2014-09-19 17:12:35

+0

是的,这是正确的。那么,我如何删除该内容?它实际上并没有将它提交给提交动作,因为它会检测到危险内容并立即大声喊叫。 – muttley91 2014-09-19 17:15:12

+0

我想用户不应该首先提交该内容?可能完全禁用该错误,但这可能不可取。也许有一种方法来显示该特定错误的友好错误消息?这可能需要至少挂钩到应用程序的全局错误处理程序中,因为请求永远不会像页面一样。 – David 2014-09-19 17:18:21

回答

0

这是因为.NET在输入的文本中检测到一些看起来像HTML语句的东西。

要禁用请求验证,我在该.aspx文件中的现有“页面”指令中添加了以下内容。

ValidateRequest="false" 

但在.NET框架4.0你必须设置在web.config中<httpRuntime requestValidationMode="2.0"/>标记。

<system.web> 
    <compilation debug="false" targetFramework="4.0" /> 
    <httpRuntime requestValidationMode="2.0"/> 
</system.web> 
+0

假设我不想禁用请求验证。有没有一种简单的方法可以在抛出此错误时通知用户,而不是发出令人讨厌的错误消息? – muttley91 2014-09-19 18:25:52

相关问题