MVC3 回发抛出“潜在危险的 Request.Form 值”HTML 错误

Posted

技术标签:

【中文标题】MVC3 回发抛出“潜在危险的 Request.Form 值”HTML 错误【英文标题】:MVC3 Postback throwing 'A potentially dangerous Request.Form value' HTML error 【发布时间】:2012-07-17 16:03:25 【问题描述】:

我有一个 MVC3 C# .Net Web 应用程序。我们正在使用 CKEditor。我们将 CKEditor html 保存到数据库中的字段。插入时我们正在转义 HTML。即

<strong> Effort estimated for the subtask elements</strong>

变成

&lt;strong&gt; Effort estimated for the subtask elements &lt;/strong&gt;

这工作正常。但是,在加载视图后在下拉 onchange 事件上重新发布视图时,出现以下错误。

System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (TextBoeSbTkDescription="<p>
<strong>Exampl...").

加载页面时,文本框中的值会从转义的 HTML 转换为非转义的。我在我的控制器动作中设置了一个断点,但在上述错误在 IE 中被删除之前它没有被执行。有什么想法可以解决这个问题吗?

【问题讨论】:

【参考方案1】:

好的...我找到了答案,但我不知道为什么它有效。我在视图中有一些在下拉列表的 onchange 事件上运行的 javascript

function DDWkProdsOnChange(thisObj, selectedIndex) 

    document.getElementById('WkProdSeldTxt').value=thisObj.options[selectedIndex].text; 
    document.getElementById('pgSender').value='WkProdDD'; 
    thisObj.form.submit();

我将表单提交更改为使用 jQuery:

function DDWkProdsOnChange(thisObj, selectedIndex) 

    document.getElementById('WkProdSeldTxt').value=thisObj.options[selectedIndex].text; 
    document.getElementById('pgSender').value='WkProdDD'; 
   $('form').submit();

这解决了问题。我很想知道为什么。我会看看我是否找不到答案

【讨论】:

以上是关于MVC3 回发抛出“潜在危险的 Request.Form 值”HTML 错误的主要内容,如果未能解决你的问题,请参考以下文章

MVC 3 - 从回发列表框中获取所有选定的值

带有 MVC3 的 PayPal IPN

带有 Razor 的 MVC3 抛出找不到方法:'System.Object System.Web.Mvc.ControllerBase.get_ViewModel()'

MVC3 - 部分视图中的多个 Ajax 表单在刷新时都填充了相同的数据

将 System.Web.Mvc 添加到 \bin 会使 MVC 3 应用程序抛出 403.14 Forbidden

MvcContrib.Mvc3-ci 3.0.75.0 重大变化?